Troolean xor(Troolean other) { switch (this) { case Troolean.True: return other.not(); case Troolean.False: return other; default: return Troolean.Unknown; } }