n.Type and n.Left.Type are used heavily. Give them useful names.
We generate the type word frequently. Make it a closure.
(We don't want to generate it up front, since there are some code
paths that don't need it, and generating it has side-effects.)
Simplify and document the final call construction.