anchor.diff:  
     @override
     void Remove(String canonical) {
  -    assert(_inputs.containsKey(canonical));
  -    _inputs.remove(canonical);
  +    assert(_uniforms.containsKey(canonical));
  +    _uniforms.remove(canonical);
       _origin.remove(canonical);
     }
   }
  
positive.code:   String toString() => "[${name}] ${numInstances} ${numItems} ${drawMode}";
  }
  
  /// ## Class RenderProgram (is a RenderInputSink)
  /// represents several invocations of the same program running on the GPU.
  /// It consists of a tree of **Nodes** which provide **Inputs** for the
  /// program. The program is invoked once for most **Nodes** while traversing
  
negative.code: 
    // TODO: this should contain all the state, including blending, depth writing
    // and detect incompatible settings
    Map<String, dynamic> _uniforms = {};
    // Where the input came from
    Map<String, NamedEntity> _origin = {};
  
    int _nextTextureUnit;
  