Can't implement Map<K, Iterable<V> because of:
Iterable<V> values (multimap)
Iterable<Iterable<V>> values (map)

Arguably we could rename Multimap.values to something different but it feels cleaner keeping map/multimap semantics distinct and having users call toMap when they want map semantics.