No, the macro generates calls to `which(f,t::(Type…)`.  What I'm deprecating here is the previous definition of `which`, which determines the types of its arguments itself.

Both could stay in base, but if the user called a function `which(f,(Int,))` there's an ambiguity between whether the user was after `f((Int,))` or `f(1)`.  It's a really slight corner-case, though, and it fails gracefully to the more common case.