program() type Base = record a: Int end Child = record(Base) b: Int end Grandchild = record(Child) c: Int end var g: Grandchild := { Grandchild; a: 3, b: 5, c: 7 } begin assert(g.a = 3); assert(g.b = 5); assert(g.c = 7) end.