?members over adjoin-all ;
: diff! ( set1 set2 -- set1 )
- dupd sequence/tester [ dup ] prepose pick
- [ delete ] curry [ [ drop ] if ] curry compose each ;
+ dupd sequence/tester pick
+ '[ dup @ [ _ delete ] [ drop ] if ] each ;
: intersect! ( set1 set2 -- set1 )
- dupd sequence/tester [ dup ] prepose [ not ] compose pick
- [ delete ] curry [ [ drop ] if ] curry compose each ;
+ dupd sequence/tester pick
+ '[ dup @ [ drop ] [ _ delete ] if ] each ;