var is not really any, it's an inferred type pattern. '_' is any, no ?
Conveniently, an inferred type pattern _is_ an any pattern. (See the explanation in the recent discussion on nullity, where this fell out nicely.) So semantically a var pattern is an any pattern. Whether or not we want an explicit any pattern is a separate question.