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 (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