sig
module Raw : sig type ('base, 'set) t end
module Set : Core.Std.Set.S_binable
type 'base t = ('base, Set.t) Set_lang_intf.S_binable.Raw.t
val base : 'base -> 'base t
val set : Set.t -> 'a t
val inter2 : 'b t -> 'b t -> 'b t
val union2 : 'b t -> 'b t -> 'b t
val diff : 'b t -> 'b t -> 'b t
val union : 'b t list -> 'b t
val inter : 'b t * 'b t list -> 'b t
val inter_list : 'b t list -> 'b t Core.Std.Or_error.t
val inter_list_exn : 'b t list -> 'b t
val values : 'base t -> 'base list
val constant_value : 'a t -> Set.t option
val subst : 'b1 t -> f:('b1 -> 'b2 t value) -> 'b2 t value
val map : 'b1 t -> f:('b1 -> 'b2 value) -> 'b2 t value
val specialize : 'b t -> f:('b -> Set.t option value) -> 'b t value
val eval : 'b t -> f:('b -> Set.t value) -> Set.t value
module Make_monadic_eval :
functor (M : Core.Std.Monad.S) ->
sig
val subst : 'b1 t -> f:('b1 -> 'b2 t M.t) -> 'b2 t M.t
val map : 'b1 t -> f:('b1 -> 'b2 M.t) -> 'b2 t M.t
val specialize : 'b t -> f:('b -> Set.t option M.t) -> 'b t M.t
val eval : 'b t -> f:('b -> Set.t M.t) -> Set.t M.t
end
val bin_t :
'base Core.Std.Bin_prot.Type_class.t ->
'base Set_lang_intf.S_binable.t Core.Std.Bin_prot.Type_class.t
val bin_read_t :
'base Core.Std.Bin_prot.Read.reader ->
'base Set_lang_intf.S_binable.t Core.Std.Bin_prot.Read.reader
val __bin_read_t__ :
'base Core.Std.Bin_prot.Read.reader ->
(int -> 'base Set_lang_intf.S_binable.t) Core.Std.Bin_prot.Read.reader
val bin_reader_t :
'base Core.Std.Bin_prot.Type_class.reader ->
'base Set_lang_intf.S_binable.t Core.Std.Bin_prot.Type_class.reader
val bin_size_t :
'base Core.Std.Bin_prot.Size.sizer ->
'base Set_lang_intf.S_binable.t Core.Std.Bin_prot.Size.sizer
val bin_write_t :
'base Core.Std.Bin_prot.Write.writer ->
'base Set_lang_intf.S_binable.t Core.Std.Bin_prot.Write.writer
val bin_writer_t :
'base Core.Std.Bin_prot.Type_class.writer ->
'base Set_lang_intf.S_binable.t Core.Std.Bin_prot.Type_class.writer
val t_of_sexp :
(Sexplib.Sexp.t -> 'base) ->
Sexplib.Sexp.t -> 'base Set_lang_intf.S_binable.t
val sexp_of_t :
('base -> Sexplib.Sexp.t) ->
'base Set_lang_intf.S_binable.t -> Sexplib.Sexp.t
val compare :
('base -> 'base -> int) ->
'base Set_lang_intf.S_binable.t -> 'base Set_lang_intf.S_binable.t -> int
end