cleanup
cleanup
defines run/lazy and case/lazy for lazily returning arguments from a run.  this and other changes slows down the long test suite by at least 10 seconds, so improvements need to be made