If you add the []= operator, for replacing the whole set of values for a key, could Multimap implement Map<K, Iterable<V>>?