type rec: [integer: x; integer: y] entry(arg) := { [rec: w] w := reserve w; w := release (w); return 0; }