anchor.diff:  
   part of persistent;
   
  +/**
  + * All the persistent structures implements this.
  + */
   class Persistent {}
  +
   class _Owner {}
   
  +/**
  + * Converts structure of [List]s and [Map]s to the equivalent
  + * persistent structure.
  + *
  + * Works recursively.
  + */
   deepPersistent(from) {
     if(from is Persistent) return from;
     if(from is Map) {
  
positive.code: }
  
  /**
    * Calls [insert] recursively using [path] elemenets as keys.
    */
  Persistent insertIn(Persistent structure, Iterable path, dynamic value) =>
      _insertIn(structure, path.iterator..moveNext(), value);
  
  
negative.code: }
  
  /**
   * Removes the element given by the [path] of keys and indices
   * in the [structure] of Maps and Vectors.
   *
   * If the [path] does not exist and [safe] is not `true`, exception is thrown.
   * If the [path] does not exist and [safe] is specified as `true`,
   * the same map is returned.
   */
  Persistent deleteIn(Persistent structure, List path, {bool safe: false}) =>
      _deleteIn(structure, path.iterator..moveNext(), safe: safe);
  