Check if two expressions types are equals
If not then check if one can be implicit casted to the other
Checks if all values has the same type
If they have the same type, return it or return None
Check That function call arguments types are matches the parameter types
Return a Diagnostic Error if anything is wrong
Check if expression type and data type are equals
If not then check if one can be implicit casted to the other
Return the expected
DataType depending on the prefix unary operator
Resolve the return type of Std or Aggregation function and re resolve it if it variant or dynamic
Check that all selected fields types are defined correctly in selected tables
Return the columns classified for each table
Return a Diagnostic Error if anything is wrong
Type check the right hand side of prefix unary expression
Return Equals, Error, or new expression after implicit casting
Check that all projection columns are valid for this table name
Return a Diagnostic Error if anything is wrong
Return a
Diagnostic with common type mismatch error message