Moved Type determination to AST expression