base

Full standard library replacement for OCaml
IN THIS PACKAGE
module type S = sig ... end
module type S1 = sig ... end
module type S2 = sig ... end
module type S3 = sig ... end
module Of_sexpable (Sexpable : S) (M : sig ... end) : S with type t := M.t

For when you want the sexp representation of one type to be the same as that for some other isomorphic type.

module Of_sexpable1 (Sexpable : S1) (M : sig ... end) : S1 with type 'a t := 'a M.t
module Of_sexpable2 (Sexpable : S2) (M : sig ... end) : S2 with type ('a, 'b) t := ( 'a, 'b ) M.t
module Of_sexpable3 (Sexpable : S3) (M : sig ... end) : S3 with type ('a, 'b, 'c) t := ( 'a, 'b, 'c ) M.t
module Of_stringable (M : Stringable.S) : S with type t := M.t