> 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.