Module Core_kernel.Validated

type ('raw, 'witness) t = private 'raw
val raw : ('raw_) t -> 'raw
module type Raw = sig ... end
module type S = sig ... end
module type S_bin_io = sig ... end
module type S_bin_io_compare_hash_sexp = sig ... end
module Make : functor (Raw : Raw) -> S with type raw := Raw.t
module Make_binable : functor (Raw : sig ... end) -> S_bin_io with type raw := Raw.t
module Make_bin_io_compare_hash_sexp : functor (Raw : sig ... end) -> S_bin_io_compare_hash_sexp with type raw := Raw.t

Make_bin_io_compare_hash_sexp is useful for stable types.

module Add_bin_io : functor (Raw : sig ... end) -> functor (Validated : S with type raw := Raw.t) -> sig ... end with type Add_bin_io.t := Validated.t
module Add_compare : functor (Raw : sig ... end) -> functor (Validated : S with type raw := Raw.t) -> sig ... end with type Add_compare.t := Validated.t
module Add_hash : functor (Raw : sig ... end) -> functor (Validated : S with type raw := Raw.t) -> sig ... end with type Add_hash.t := Validated.t
module Add_typerep : functor (Raw : sig ... end) -> functor (Validated : S with type raw := Raw.t) -> sig ... end with type Add_typerep.t := Validated.t