unify reference and type checking
add compile time mixed literal operand checking