GENERIC DEFINITION MODULE Pair (T : TYPE; U : TYPE); PROCEDURE First(x : T; y : U) : T; PROCEDURE Second(x : T; y : U) : U; END Pair.