discovered quite a number of strange old errors. Also fixed an
error on setting current-directory when the tab has no directory,
no infrastructure for testing this automatically.
Requires are now handled correctly, except that required bindings aren't treated
as top-level (that is, their reductions are skipped). Should be an easy fix...