binop for typechecking