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