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.