Add CASE statements (experimental parser)
Split up ast.Expression (experimental parser)
Ensure ReduceExpression calculates types correctly