Refactored Type to be a subclass of ASTNode
Refactored to use typed Adresses, to differentiate values from addresses
changed most text to be in spans, and added printing of function calls and modifiers