DISCLAIMER: This suggestion is not serious. Oh please dear god no. This would be simple if you could switch on a single-value function returning bool, and if there was some form of sections ala Haskell, e.g.: switch (a is) { case b: (etc) } - Gregor Richards