On Sep 28, 2014 3:14 PM, "Edward Kmett" <ekmett@gmail.com> wrote:
> Too many small changes would have to go in, and you'd need at least one factoring of the Bits class to make it compelling.
...
> A fully consistent version of it would be to adopt short-circuiting across all Bits instances (ugh), factor out testBit somehow, then consider converting
> If testBit didn't exist in the class
...
> In a world where the current proposal does come to fruition, such a class would be a separate ad hoc construction, and well, frankly that just would probably never happen.

Yes, it would be a separate construction. It would not be any more "ad hoc" than anything else, and could well be cleaner than some. If you formulated it and proposed it as an addition to base, I bet you'd win a lot of agreement. It seems a lot harder *and uglier* to hack Bits to do that too. You already have &&, ||, and not available to push into it. That said, isn't some of what you're talking about already possible (and less confusing) if you just do a little explicit lifting?