anchor.diff:    }
   
     /**
  +   * Creates a [PersistentMap] from an Iterable of Pairs using the default
  +   * implementation of [PersistentMap].
  +   */
  +  factory PersistentMap.fromPairs(Iterable<Pair<K, V>> pairs) {
  +    PersistentMap<K, V> result = new _EmptyMap<K, V>();
  +    pairs.forEach((pair) {
  +      result = result.insert(pair.fst, pair.snd);
  +    });
  +    return result;
  +  }
  +
  +  /**
      * Returns a new map identical to `this` except that it binds [key] to
      * [value].
      *
  
positive.code: 
    Pair<K, V> pickRandomEntry([Random random]) =>
        elementAt((random != null ? random : _random).nextInt(this.length));
  }
  
negative.code: 
    /// Randomly picks an entry of `this`.
    Pair<K, V> pickRandomEntry([Random random]);
  
    /// A strict (non-lazy) version of [:map:].
    PersistentMap strictMap(Pair f(Pair<K, V> pair));
  
    /// A strict (non-lazy) version of [:where:].
    PersistentMap<K, V> strictWhere(bool f(Pair<K, V> pair));
  }
  
  /**
  