sig
  val mk_cons : Sym.t
  val mk_car : Sym.t
  val mk_cdr : Sym.t
  val get : Sym.t -> Sym.product
  val is_cons : Sym.t -> bool
  val is_car : Sym.t -> bool
  val is_cdr : Sym.t -> bool
  val pp : 'Pretty.printer -> (Sym.product * 'a list) Pretty.printer
end