147 | Minimal.Letpair (t1,t2,e1,e2,pos) =>
148 let
149 val te1 = checkExp e1 vtable ftable
150
151 val te2 = case te1 of
152 Minimal.Tpair(typ1,typ2)=> typ1
153 |_ => raise Error ("Arguments to pair are wrong",pos)
154
155 val te4 = case te1 of
156 Minimal.Tpair(typ1,typ2)=> typ2
157 |_ => raise Error ("Arguments to pair are wrong",pos)
158
159 val te3 = checkExp e2 ((t1,te2)::(t2,te4)::vtable) ftable
160
161 in
162 if t1 <> t2 then te3 else raise Error ("Arguments to pair are wrong",pos)
163 end