Module Sexpable = Core_kernel.Sexpable


module type S = sig .. end
New code should use the @@deriving sexp syntax directly.
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_stringable (M : Core_kernel.Stringable.S) : S with type t := M.t
module To_stringable (M : S) : Core_kernel.Stringable.S with type t := M.t
module Stable : sig .. end
The following functors preserve stability: if applied to stable types with stable (de)serializations, they will produce stable types with stable (de)serializations.