Reimplement check_binary_op