turns out we already support destructured keywords

..and that's the culprit. For at least one issue. There's two issues here:
  a) destructured keywords
  b) post-eval keyword args
The first should be easier to fix.
:body destructured-keyword bug almost fixed
.
no, splitting strip-keyword-args-shallow won't work

When we bud off a keyword arg we also need to take it off the param list.
back to aec39e3a1c last evening
delete destructured optionals
now support nested optionals and keywords -- only in a single destructured param

That's all we need for defextend.
Now walk can take a keyword!
.