anchor.diff:      var pos = 0;
       while (pos < parts.length) {
         var thePart = parts.elementAt(pos);
  -      _checkAndThrow(thePart._value is String, 'Missing plural key element.');
         var key = thePart._value;
   
         pos++;
  
positive.code:       if (_ElementType.string == thePart._type) {
          block = _BlockTypeAndVal(_BlockType.string, thePart._value);
        } else if (_ElementType.block == thePart._type) {
          _checkAndThrow(thePart._value is String,
              'The value should be a string: ${thePart._value}');
          var blockType = _parseBlockType(thePart._value);
  
          switch (blockType) {
  
negative.code:     var pluralResult = Queue<String>();
      _formatBlock(option!, namedParameters, ignorePound, pluralResult);
      var plural = pluralResult.join('');
      if (ignorePound) {
        result.add(plural);
      } else {
  