swap [ slot-spec-writer ] map append ;
: define-consult-method ( word class quot -- )
- pick add >r swap create-method-in r> define ;
+ pick suffix >r swap create-method r> define ;
+: 3bi ( x y z p q -- p(x,y,z) q(x,y,z) )
+ >r 3keep r> call ; inline
+
+: change-word-prop ( word prop quot -- )
+ >r swap word-props r> change-at ; inline
+
+: declare-consult ( class group -- )
+ "protocol-users" [ ?push ] change-word-prop ;
+
: define-consult ( class group quot -- )
- >r group-words swap r>
+ >r 2dup declare-consult group-words swap r>
[ define-consult-method ] 2curry each ;
: CONSULT: