The current implementation of PersistentMap does not override Iterable methods like map, where and expand.
A client of PersistentMap that calls myPersistentMap.where((pair) => ...); is clearly expecting another PersistentMap as return, but he gets an Iterable<Pair<K, V>> instead.