GDC transitioned to a similar scheme.  ``FuncDeclaration::needsCodegen`` has parts of it located in our ``output_declaration_p``, which includes some other logic (eg: deferring functions whose parent hasn't finished emitting yet).

And moving ``inNonRoot`` to ``Dsymbol`` is a win for me too.