list a ::= Nil | Cons a (list a);
tp2 a b ::= Mk2 a b;
tp3 a b c ::= Mk3 a b c;
tp4 a b c d ::= Mk4 a b c d;
;;
unzip2 l
= case l of
Nil -> Mk2 Nil Nil;
Cons pair pairs -> case pair of
Mk2 x y -> case unzip2 pairs of
Mk2 xs ys -> Mk2 (Cons x xs) (Cons y ys) end end end;
|