sig
  type raw
  type t = raw t
  val create : raw -> t Or_error.t
  val create_exn : raw -> t
  val raw : t -> raw
  val t_of_sexp : Sexplib.Sexp.t -> t
  val sexp_of_t : t -> Sexplib.Sexp.t
end