(* 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) := { [ integer: result ; rec: w] while ( result = result ) { while ( result < w.y ) { result := 8; } result := 9; } result := bar('c', 7); return 0; }