1
open Typerep_extended.Std
5
exception Type_mismatch of string * Sexp.t
6
include Type_generic.S with type 'a t = Sexp.t -> 'a
8
module Sexp_of : Type_generic.S with type 'a t = 'a -> Sexp.t
10
val t_of_sexp : 'a Typerep.t -> [`generic of Sexp.t -> 'a]
11
val sexp_of_t : 'a Typerep.t -> [`generic of 'a -> Sexp.t]
13
module Make_sexpable(X:Typerepable.S0) : Sexpable.S
15
val make_sexpable : 'a Typerep.t -> (module Sexpable.S with type t = 'a)
18
module Of_sexp : Tagged_generic.S with type 'a t = Sexp.t -> 'a
19
module Sexp_of : Tagged_generic.S with type 'a t = 'a -> Sexp.t
21
val t_of_sexp : Type_struct.t -> [ `generic of Sexp.t -> Tagged.t ]
22
val sexp_of_t : Type_struct.t -> [ `generic of Tagged.t -> Sexp.t ]
24
module Make_sexpable(X:sig val typestruct_of_t : Type_struct.t end) : Sexpable.S
25
with type t := Tagged.t
26
val make_sexpable : Type_struct.t -> (module Sexpable.S with type t = Tagged.t)