: prepare-methods ( methods -- methods' prologue )
canonicalize-specializers
[ length [ prepare-method ] curry assoc-map ] keep
- [ [ get ] curry ] map concat [ ] like ;
+ [ [ get ] curry ] map [ ] concat-as ;
! Part II: Topologically sorting specializers
: maximal-element ( seq quot -- n elt )
[ drop object eq? ] assoc-reject
[ [ t ] ] [
[ (multi-predicate) ] { } assoc>map
- unclip [ swap [ f ] \ if 3array append [ ] like ] reduce
+ unclip [ swap [ f ] \ if 3array [ ] append-as ] reduce
] if-empty ;
: argument-count ( methods -- n )