more printer tweaking
bugfix - locals() in classes.
I got the behavior of locals() in classes wrong - when in class definitions, locals() does not include closed-over locals that are referenced in the class body.  in functions the behvaior is different.