Better find and remove

This also adds support for destructuring in macro-lambda-lists, which I used for DOSEQ; and a not-entirely correct VECTOR-PUSH-EXTEND.