type R = record f1: T1; f2: T2; f3: T3 end ... procedure op1(p: R) begin ... end procedure op2(q: R; x: int) begin ... end