codegen, tests/closure: implement closures without let
codegen: finish closure implementation with let forms