anchor.diff:      var replaceRegex = _pluralBlockRe;
       pattern = pattern.replaceFirstMapped(replaceRegex, (match) {
         // string, name, offset
  -      argumentName = match.group(1)!;
  -      if (_isDef(match.group(2))) {
  -        argumentOffset = int.parse(match.group(2)!);
  +      argumentName = match[1]!;
  +      if (_isDef(match[2])) {
  +        argumentOffset = int.parse(match[2]!);
         }
         return '';
       });
  
positive.code: 
      // First replace '' with single quote placeholder since they can be found
      // inside other literals.
      pattern = pattern.replaceAllMapped(_regexDoubleApostrophe, (match) {
        literals.add("'");
        return buildPlaceholder(literals);
      });
  
      pattern = pattern.replaceAllMapped(_regexLiteral, (match) {
        // match, text
        var text = match.group(1)!;
        literals.add(text);
        return buildPlaceholder(literals);
      });
  
negative.code:   return obj != null;
  }
  
  // Closure calls assert, which actually ends up with an exception one can catch.
  // In Dart assert is only for debug, so I am using this small wrapper method.
  void _checkAndThrow(bool condition, String message) {
    if (!condition) {
  