@Ocramius the reason I changed it was because it is the wrong way to set the flags. There's really nothing we can do to prevent someone from doing something like

new NotEmpty(NotEmpty::BOOLEAN + NotEmpty::BOOLEAN);

I can certainly put it back and add another test for the bitwise OR but I figured it was a bad example in the tests.