Point ::= struct { x, y: int; } mkpoint ::= fn(x, y: int) p: Point { p.x = x; p.y = y; } main ::= fn() { p: Point; use p; }