let sigma op l =
  match op, l with
    | Cons, [a; b] -> mk_cons a b
    | Car, [a] -> mk_car a
    | Cdr, [b] -> mk_cdr b 
    | _ -> Term.mk_app (Pair(op)) l