I wonder what percentage of `_` usage is value/type discarding in pattern matching and type signatures vs. function application.
Would be nice to somehow ditch `case`:
adt match { Foo(x) if cond x => ... Bar(x) => ... } pairs.map{ (a,b) => ... }