Still debating on how I'm going to represent types in my language so I can also use it efficiently during semantic analysis...