slight hack to account for lack of semantic analysis on expressions
generated for array access (changed order of type checks for binop
expressions in code generation, so integer binop is assumed as the
"default" choice instead of boolean)