anchor.diff:        String reference = refRes.value == "" ? labelRes.value : refRes.value;
         String normalizedReference = _normalizeReference(reference);
         if (_references.containsKey(normalizedReference)) {
  -        return refRes.copy(value: [new ReferenceLink(reference, inlines(noLinks: true).parse(labelRes.value), _references[normalizedReference])]);
  +        return refRes.copy(value: [new ReferenceLink(reference, linkInlines, _references[normalizedReference])]);
         }
       } else {
         String normalizedReference = _normalizeReference(labelRes.value);
         if (_references.containsKey(normalizedReference)) {
  -        return labelRes.copy(value: [new ReferenceLink(labelRes.value, inlines(noLinks: true).parse(labelRes.value), _references[normalizedReference])]);
  +        return labelRes.copy(value: [new ReferenceLink(labelRes.value, linkInlines, _references[normalizedReference])]);
         }
       }
   
  
positive.code:       ) ^ (a, Option b) => new Target(a, b.asNullable))
    ) < char(')');
  
    Parser<List<Inline>> get link => new Parser((String s, Position pos) {
      ParseResult testRes = char('[').run(s, pos);
      if (!testRes.isSuccess) {
  
negative.code:   }
  
    Inlines _parseInlines(String raw) {
      return inlines.parse(raw);
    }
  
    //
  