anchor.diff:      }
     }
   
  +  void AddVerticesTakeOwnership(List<VM.Vector3> vs) {
  +    for (VM.Vector3 v in vs) {
  +      vertices.add(v);
  +    }
  +  }
  +
     void AddVertex(VM.Vector3 v) {
       vertices.add(v.clone());
     }
  
positive.code:   /// w: num horizontal points
    /// h: num vertical points
    void GenerateRegularGridUV(int w, int h) {
      assert(vertices.length == w * h);
      List<VM.Vector2> uvs = [];
      attributes[aTexUV] = uvs;
  
  
negative.code:   void AddVerticesFace3(List<VM.Vector3> vs) {
      assert(vs.length == 3);
      int i = vertices.length;
      AddFace3(i + 0, i + 1, i + 2);
      AddVertices(vs);
    }
  
    void AddVerticesFace3TakeOwnership(List<VM.Vector3> vs) {
      assert(vs.length == 3);
      int i = vertices.length;
      AddFace3(i + 0, i + 1, i + 2);
      AddVerticesTakeOwnership(vs);
    }
  
    void AddAttributeDouble(String canonical, double v) {
  