Working Type Checker + Visitor pattern, still have to implement the symbol table
Branch Fix