123456789101112131415161718192021222324252627282930313233343536openOcollectionopenOsetletempty=Set_.emptyclass['a]osetbxs=object(o)inherit['a]osetvaldata=xs(* Set_.empty *)methodtosetb=data(* if put [] then no segfault, if [11] then segfault *)methodtoset=Obj.magicdatamethodempty={<data=Set_.empty>}methodadde={<data=Set_.addedata>}methoditerf=Set_.iterfdatamethodview=ifSet_.is_emptydatathenEmptyelseletel=Set_.choosedatainCons(el,o#delel)methoddele={<data=Set_.removeedata>}methodmeme=Set_.memedatamethodnull=Set_.is_emptydatamethodtolist=Set_.elementsdatamethodlength=Set_.cardinaldatamethodunions={<data=Set_.uniondatas#tosetb>}methodinters={<data=Set_.interdatas#tosetb>}methodminuss={<data=Set_.diffdatas#tosetb>}(* todo: include, ... *)end