anchor.diff:    static final Set<String> _linkLabelStrSpecialChars =
         new Set.from(" *_`!<\\".split(""));
     static final Parser<List<Inline>> _linkLabelStr = choiceSimple([
  -    noneOfSet(new Set.from(_linkLabelStrSpecialChars)..addAll(["[", "]", "\n"]))
  -            .many1
  -            .record ^
  +    record1Many(noneOfSet(new Set.from(_linkLabelStrSpecialChars)
  +          ..addAll(["[", "]", "\n"]))) ^
           (String str) => _transformString(str),
       oneOfSet(_linkLabelStrSpecialChars) ^
           (String char) => _transformString(char),
  
positive.code:   Parser<List<Inline>> get str {
      if (_strCache == null) {
        _strCache = choiceSimple([
          noneOfSet(new Set.from(_strSpecialChars)..add("\n")).many1.record ^
              (String chars) => _transformString(chars),
          oneOfSet(_strSpecialChars) ^ (String chars) => _transformString(chars),
          char("\n").notFollowedBy(spnl) ^ (_) => [new Str("\n")]
  
negative.code:   //
  
    static final Parser<List<Inline>> lineBreak =
        (((string('  ') < skipManySimple(whitespaceChar)) < newline) |
                string("\\\n")) ^
            (_) => [new LineBreak()];
  
    //
  