> But I have to explicitly use it. Ruby should use duck typing for boolean > expression like it does it in many other cases. The problem is, if you do that one place (i.e. "oh, this is bitwise-and, each bit represents a bool"), then you have to do it everywhere, since bitwise-and is NOT limited to single-bit flag checks (e.g. it works great for masking as well). Doing it everywhere is a very bad thing. Which means you either need to propose an extension to Ruby for a new "bitwise-and-as-boolean" operator (i.e. flags ?& 0x01 or similar), or you need to abstract out a bit more and turn (flags & 0x01) into something valid. With a little wrapper func, it can look quite nice: class Something def enabled? @flags[0x01].nonzero? end end And that's assuming someone hasn't already made a bitfield type class that makes all of this even prettier.