Handle more complex if statements in the parser

I feel like there are some more types that need to be pulled out of the
expression type. There are a lot of edge cases for call expressions, parens,
assignments, etc that I know this is missing.