type 'a t
val t_of_sexp : ( Sexp.t -> 'a ) -> Sexp.t -> 'a t
val sexp_of_t : ( 'a -> Sexp.t ) -> 'a t -> Sexp.t