anchor.diff:  
     final Function _toEncodable;
     final StringSink _sink;
  -  final Set<Object> _seen;
  +  final List _seen;
   
     _JsonStringifier(this._sink, this._toEncodable)
  -      : this._seen = new HashSet.identity();
  +      : this._seen = new List();
   
     static String stringify(object, toEncodable(object)) {
       if (toEncodable == null) toEncodable = _defaultToEncodable;
  
positive.code:   }
  
    void checkCycle(object) {
      if (!_seen.add(object)) {
        throw new JsonCyclicError(object);
      }
    }
  
    void stringifyValue(object) {
  
negative.code:         stringifyValue(m[key]);
        }
        _sink.write('}');
        _removeSeen(object);
        return true;
      } else {
        return false;
      }
    }
  
    void _removeSeen(object) {
      assert(!_seen.isEmpty);
      assert(identical(_seen.last, object));
      _seen.removeLast();
    }
  }
  