Module Base.Sexpable

New code should use the @@deriving_inline sexp@@@end syntax directly. These module types (S, S1, S2, and S3) are exported for backwards compatibility only. *

module type S : sig ... end
module type S1 : sig ... end
module type S2 : sig ... end
module type S3 : sig ... end
module Of_sexpable : functor (Sexpable : S) -> functor (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 : functor (Sexpable : S1) -> functor (M : sig ... end) -> S1 with type t := a M.t
module Of_sexpable2 : functor (Sexpable : S2) -> functor (M : sig ... end) -> S2 with type (a, b) t := (a, b) M.t
module Of_sexpable3 : functor (Sexpable : S3) -> functor (M : sig ... end) -> S3 with type (a, b, c) t := (a, b, c) M.t
module Of_stringable : functor (M : Stringable.S) -> S with type t := M.t