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 ) { result := result + 8; if ( result < w.y ) then { while (true) { result := 8; } } else { result := 9; } result := bar('c', 7); } return 0; }