refactored form checker, added type compatibility check for operands in binary expression