Fix bug where you could re-declare a var in same scope.
Strings work.
Negation expressions.
Reorder expression functions to match type checker
Make sure we type-check array index expressions.
Array expressions and array assignment.