 ! Copyright (C) 2010 Daniel Ehrenberg
 ! See http://factorcode.org/license.txt for BSD license.
-USING: assocs hashtables kernel math sequences vectors ;
+USING: assocs hashtables growable.private kernel math sequences
+vectors ;
 FROM: assocs => change-at ;
 IN: sets
 


<PRIVATE

: (pruned) ( elt hash vec -- )
    2over in? [ 3drop ] [
        [ drop adjoin ] [ nip push ] 3bi
    ] if ; inline

: pruned ( seq -- newseq )

GENERIC: null? ( set -- ? )
GENERIC: cardinality ( set -- n )
GENERIC: clear-set ( set -- )

M: f members drop f ;

M: f cardinality drop 0 ;

