enum UpDown { up(true), down(false); bool bit; private *(bool *bit) {} static UpDown fromBool(bool bit) { ret bit ? up : down; } bool isUp() { ret bit; } bool isDown() { ret !bit; } }