anchor.diff:            return fail.run(s, pos);
           }
         });
  +    }
  +
  +    return _listCache;
  +  }
   
     //
     // Document
  
positive.code:     return _inlineCache;
    }
  
    Parser<List<Inline>> get spaceEscapedInline =>
        (string(r'\ ') ^ (_) => [new _EscapedSpace()]) | inline;
  
    Parser<Inlines> get inlines =>
        inline.manyUntil(eof) ^ (res) => processParsedInlines(res);
  
    //
    // Blocks
    //
  
    Parser<List<Block>> get block => choice([
          blanklines ^ (_) => [],
          hrule,
          list,
  
negative.code:   static final Parser blockquoteLine =
        (blockquoteStrictLine ^ (l) => [true, l]) | (anyLine ^ (l) => [false, l]);
  
    Parser _blockquoteCache;
    Parser get blockquote {
      if (_blockquoteCache == null) {
        _blockquoteCache = new Parser((String s, Position pos) {
          ParseResult firstLineRes = blockquoteStrictLine.run(s, pos);
          if (!firstLineRes.isSuccess) {
            return firstLineRes;
  