I believe this was proposed a long time ago but I rejected it because of name conflicts. For example, imagine you import all of "foo" and on v1 it means adding both foo/2 and foo/3. However, on v2 the module also defines a foo/1. There is a chance this new arity will conflict with a local foo/1.
On the other hand, I would say having a function with the same name and different arity as an import is something that should be avoided in general (either by using a different name or not importing it), so I think it is worth this addition. The only complexity I foresee in implementing this is skipping the warning if one of the arities is invoked - but that's an implementation detail.
Therefore, I propose we do support this feature. My suggestion is to represent said names with naked atoms, such as:
import Enum, only: [:at, :map]
Specific arities go at the end as any keyword list:
import Enum, only: [:at, map: 2]
Thoughts?