1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
type C; procedure P(x:int, y:bool) returns (z:C); procedure Q<a>(x:int, y:a) returns (z:a); procedure CallP() { var x:int; var y:bool; var z:C; call z := P(x, y); } procedure CallQ() { var x:int; var y:bool; var z:bool; call z := Q(x, y); }