struct Foo { field a; } struct Bar { Foo[1] foo; } def isEqual(field a, field b) -> bool { return a == b; } def main(field a) -> field { field b = (a + 5) * 6; assert(2 * b == a * 12 + 60); field c = 7 * (b + a); assert(isEqual(c, 7 * b + 7 * a)); field k = [1f, 2] == [3f, 4] ? 1 : 3; assert([Bar { foo : [Foo { a: 42 }]}] == [Bar { foo : [Foo { a: 42 }]}]); return b + c; }