allow overriding printing of some types anywhere in the nesting, with test. Closes #2