Why are numeric comparisions constrained to support only two args?

You are missing the point of || and &&: that they are not functions. This is key to their semantics.