anchor.diff:      T rTop = max(top, rect.top);
       T rRight = min(right, rect.right);
       T rBottom = min(bottom, rect.bottom);
  -    return new Rectangle<T>(rLeft, rTop, rRight - rLeft, rBottom - rTop);
  +    return new Rectangle<T>(
  +        rLeft, rTop, (rRight - rLeft) as T, (rBottom - rTop) as T);
     }
   }
  
positive.code:     T rTop = min(top, other.top);
      T rRight = max(right, other.right);
      T rBottom = max(bottom, other.bottom);
      return new Rectangle<T>(rLeft, rTop, rRight - rLeft, rBottom - rTop);
    }
  
    /// Tests whether `this` entirely contains [another].
  
negative.code: 
    Rectangle(this.left, this.top, this.width, this.height);
  
    T get right => (left + width) as T;
  
    T get bottom => (top + height) as T;
  
    Point<T> get topLeft => new Point<T>(left, top);
  
  