sig
  type 'a t
  val t_of_sexp :
    (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'Sexpable.S1.t
  val sexp_of_t :
    ('-> Sexplib.Sexp.t) -> 'Sexpable.S1.t -> Sexplib.Sexp.t
end