sig
  type t
  exception E of t
  val to_string : t -> string
  val print : Format.formatter -> t -> unit
end