10 val data
= xs
(* Setb.empty *)
13 (* if put [] then no segfault, if [11] then segfault *)
14 method toset
= Obj.magic data
16 method empty = {< data
= Setb.empty >}
17 method add e
= {< data
= Setb.add e data
>}
18 method iter f
= Setb.iter f data
22 else let el = Setb.choose data
in Cons
(el, o#del
el)
24 method del e
= {< data
= Setb.remove e data
>}
25 method mem e
= Setb.mem e data
26 method null
= Setb.is_empty data
28 method tolist
= Setb.elements data
29 method length
= Setb.cardinal data
31 method union s
= {< data
= Setb.union data s#tosetb
>}
32 method inter s
= {< data
= Setb.inter data s#tosetb
>}
33 method minus s
= {< data
= Setb.diff data s#tosetb
>}
34 (* todo: include, ... *)