anchor.diff:    
     void times(f(int index), {int start: 0, bool reverse: false}) {
       if (!reverse) {
  -      for (int i = start; i < _target; i++) {
  +      for (int i = start; i < target; i++) {
           f(i);
         }
         return;
       }
  -    for (int i = _target - 1; i >= start; i--) {
  +    for (int i = target - 1; i >= start; i--) {
         f(i);
       }
     }
   }
   
   @proxy
  -class $list extends $object {
  +class $list extends $object<List> {
     $list(List target) : super(target);
     
     get randomElement => target[new Random().nextInt(target.length)];
     
     List extract(type) {
  -    var _type = type is $type ? type._target : type;
  -    return _target.where((elem) =>
  +    var _type = type is $type ? type.target : type;
  +    return target.where((elem) =>
           reflect(elem).type.isAssignableTo(reflectType(_type))).toList();
     }
     
  
positive.code: }
  
  
  class $string extends $object {
    $string(String target) : super(target);
    
    
  
negative.code:   }
    
    bool operator ==(Object other) =>
        other is $object ? target == other.target : target == other;
    
    ClassMirror get classMirror => reflect(this).type;
    bool isNull() => target == null;
    
    Type get runtimeType => target.runtimeType;
    int get hashCode => target.hashCode;
    toString() => target.toString();
    void printSelf() => print(target);
  }