@Override
<BUG>public Iterator<T2<K,V>> iterator() {
</BUG>
return toList().iterator();
}
<BUG>public TreeMap<K,V> mapValue(K key, Function<? super V, ? extends V> function) {
</BUG>
return apply(key).map(v -> insert(key, function.apply(v))).getOrElse(this);
}
public <V1> TreeMap<K, V1> mapValues(Function<? super V, ? extends V1> function) {

@Override
public Iterator<T2<K, V>> iterator() {
return toList().iterator();
}
public TreeMap<K, V> mapValue(K key, Function<? super V, ? extends V> function) {
return apply(key).map(v -> insert(key, function.apply(v))).getOrElse(this);
}
public <V1> TreeMap<K, V1> mapValues(Function<? super V, ? extends V1> function) {
