anchor.diff:  
         currentSet.forEach((css) {
           if (!previousSet.contains(css)) {
  -          _animate.addClass(element, css); 
  +          _animate.addClass(element, css);
           } else {
             element.classes.add(css);
  -        }  
  +        }
         });
       }
   
  
positive.code:   }
  
    set valueExpression(currentExpression) {
      // this should be called only once, so we don't worry about cleaning up
      // watcher registrations.
      scope.watch(_parser(currentExpression, collection: true), (current, _) {
        currentSet = _flatten(current);
        _handleChange(scope.context[r'$index']);
      }, readOnly: true);
  
negative.code:       return classes.keys.where((key) => toBool(classes[key])).toList();
      }
      if (classes is String) return classes.split(' ');
      throw 'ng-class expects expression value to be List, Map or String, '
            'got $classes';
    }
  }
  