Module Core.Validated

type ('raw, 'witness) t = private 'raw
val raw : ('raw, _) t -> 'raw
val raw_local : ('raw, _) t -> 'raw
module type Raw = sig ... end
module type S = sig ... end
module type S_allowing_substitution = sig ... end
module type S_bin_io = sig ... end
module type S_bin_io_compare_hash_sexp = sig ... end
module type S_bin_io_compare_globalize_hash_sexp = sig ... end
module Make (Raw : Raw) : S with type raw := Raw.t
module Make_binable (Raw : sig ... end) : S_bin_io with type raw := Raw.t

Make_bin_io_compare_hash_sexp is useful for stable types.

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