types Class1 = autocons system |[ var O2 : Class2 = new (Class2); O3 : Class3 = new (Class3); OL : list[2] of Class2 = [nil] actions ctr fill = requires true : OL := [O2]^[O3 as Class2] end do fill od ]| ; Class2 = system |[ ]| ; Class3 = system (Class2) |[ ]| system Class1