anchor.diff:    if (b == null)
       return a.scale(1.0 - t);
     return new BoxShadow(
  -      color: lerpColor(a.color, b.color, t),
  -      offset: lerpOffset(a.offset, b.offset, t),
  -      blur: lerpNum(a.blur, b.blur, t));
  +    color: lerpColor(a.color, b.color, t),
  +    offset: lerpOffset(a.offset, b.offset, t),
  +    blur: lerpNum(a.blur, b.blur, t)
  +  );
   }
   
   List<BoxShadow> lerpListBoxShadow(List<BoxShadow> a, List<BoxShadow> b, double t) {
  
positive.code:     this.tileMode: sky.TileMode.clamp
    });
  
    String toString() =>
        'RadialGradient($center, $radius, $colors, $colorStops, $tileMode)';
  
    sky.Shader createShader() {
      return new sky.Gradient.radial(this.center, this.radius, this.colors,
                                     this.colorStops, this.tileMode);
    }
  
    final Point center;
    final double radius;
    final List<Color> colors;
    final List<double> colorStops;
    final sky.TileMode tileMode;
  }
  
  enum BackgroundFit { fill, contain, cover, none, scaleDown }
  
negative.code:     this.tileMode: sky.TileMode.clamp
    });
  
    final List<Point> endPoints;
    final List<Color> colors;
    final List<double> colorStops;
    final sky.TileMode tileMode;
  
    sky.Shader createShader() {
      return new sky.Gradient.linear(this.endPoints, this.colors,
                                     this.colorStops, this.tileMode);
    }
  
    String toString() {
      return 'LinearGradient($endPoints, $colors, $colorStops, $tileMode)';
    }
  }
  
  class RadialGradient extends Gradient {
  