Add missing eval ctxt and some tests that exercise it...

...and fixed a downset-op bug; ugh.
Oops, downset-op was doing way too much work!