signature PairSig = sig type X type Y type Pair val pair : X * Y -> Pair and raip : Pair -> X * Y end;