Also add optional position information for some of the AST elements.
This allows us to start to break down the problem into tokens and their position in the parsed syntax.