anchor.diff:    /// Used to indicate what the
     /// next decoded item should be.
     whatsNext _next = whatsNext.nothing;
  +
  +  /// Temporary map to asssemble a key/value pair
  +  Map<dynamic, dynamic> _tmpMap;
  +
  +  /// Temporary map key,int or string
  +  dynamic _mapKey;
  +
  +  /// Temporary map value
  +  dynamic _mapValue;
   
     void onInteger(int value) {
       // Do not add nulls
  
positive.code:       if (entry.complete) {
          _stack.push(item);
        } else {
          entry.data.add(item.data);
          if (entry.data.length == entry.targetSize) {
            entry.complete = true;
          }
        }
      }
  
negative.code:     _appendImpl(item);
    }
  
    /// Append implementation
    void _appendImpl(DartItem item) {
      if (_stack.size() == 0) {
        // Empty stack, straight add
  