(* TEST: [-asc -tc] *) type rec: [character: x; integer: y] type T2: rec -> integer type main: string -> integer function entry: main function bar: T2 (* bar (r,s) := { return 0; } *) entry (arg) := { [ Boolean:x ; Boolean:y ; Boolean:z ; Boolean:t] if ( ( x & y ) ) then { (* if ( x