anchor.diff:        'other' : #other,
     };
   
  -  NgPluralize(this._scope, this._element, this._interpolate,
  -              this._filters, NodeAttrs attributes) {
  -    final whens = attributes['when'] == null
  +  NgPluralize(this._scope, this._element, this._interpolate, this._filters) {
  +    var attrs = _element.attributes;
  +    final whens = attrs['when'] == null
           ? <String, String>{}
  -        : _scope.eval(attributes['when']);
  -    _offset = attributes['offset'] == null ? 0 : int.parse(attributes['offset']);
  +        : _scope.eval(attrs['when']);
  +    _offset = attrs['offset'] == null ? 0 : int.parse(attrs['offset']);
   
       _element.attributes.keys.where((k) => IS_WHEN.hasMatch(k)).forEach((k) {
         var ruleName = k
  
positive.code:     }
    }
  
  
    void _setAndWatch(template) {
      if (_watch != null) _watch.remove();
      var expression = _expressionCache.putIfAbsent(template, () =>
  
negative.code:   Watch _watch;
  
    static final RegExp IS_WHEN = new RegExp(r'^when-(minus-)?.');
  
    static const Map<String, Symbol> SYMBOLS = const {
        'zero'  : #zero,
        'one'   : #one,
  