let sigma op l = match op, l with | Sym.Cons, [a; b] -> mk_cons a b | Sym.Car, [a] -> mk_car a | Sym.Cdr, [b] -> mk_cdr b | _ -> assert false