actually fix PR 14102

This commit definitely takes the position that
"beautiful" code is less important than reasonable
error messages; better if the code were refactored
so the names flow through it more gracefully
Add access to the failure continuation in `match`.
fix bug in 82bb5ba4c8; also add test case
progress
Fix stupid refactoring error.
Tests use `test-engine/scheme-tests`
fix inf loops -- all tests pass
more progress
now about twice the speed of master