Gradually whittling away at temporal coupling.

The aim is to get rid of the `#init` methods on all the AST nodes
and inject the right data in with the constructor.
This was adding nothing