type FieldArray = field[N] struct Foo { FieldArray a FieldArray b } type Bar = Foo<2, 2> type Buzz = Foo def main(Bar a) -> Buzz<2>: Bar bar = Bar { a: [1, 2], b: [1, 2] } Buzz<2> buzz = Buzz { a: [1, 2], b: [1, 2] } assert(bar == buzz) return buzz