Case expression with Type argument and matches failes
(case (class x)
(f "asdf") => throws
(reported by Ramsey Nasser)
Given that ClojureJVM and ClojureCLR agree on this, I prefer not to make a change.
perhaps a type-case construct?
This sounds like a feature request to Clojure (JVM) more than a defect in ClojureCLR.
This would be convenient.
For what it's worth, it doesn't look like Clojure (JVM) supports case switching on Class/Type (in 1.8, 1.9-alpah14). IllegalArgumentException No matching clause: class java.lang.String
My perception is that case is analogous to Java/C#'s switch which offers performance benefits over something like cond/condp by jumping to the right code. That benefit might be a trick to maintain for Type, given the opaque nature of .NET's hashing algorithm.