The main Node structure that holds every AST node and some supplementary substructs. A bit of helper code to handle the nodes.