(* TEST: [-st] *) type main: string -> integer function entry: main type rec: [integer: x; integer: y] entry (arg) := { [rec: w] w := reserve w; w.x := 1; w.y := 2; w.z := 3; return 0; }