Set up AST node hierarchy and keyword constants

Let’s discuss this. I think we can actually model this with an object in a nicer way.