anchor.diff:          blockquote,
           para
         ]);
  -
  -  Parser<List<Block>> get lazyLineBlock => choice([
  +    }
  +    return _blockCached;
  +  }
  +
  +  Parser<List<Block>> _lazyLineBlockCache;
  +  Parser<List<Block>> get lazyLineBlock {
  +    if (_lazyLineBlockCache == null) {
  +      _lazyLineBlockCache = choice([
           blanklines ^ (_) => [],
           hrule,
           list,
  
positive.code:           return fail.run(s, pos);
          }
        });
  
    //
    // Document
  
negative.code:   /// Trying to add current line as lazy to nested list blocks.
    ///
    /// Returns `true` when line was accepted.
    static bool _acceptLazy(Iterable<Block> blocks, String s) {
      if (blocks.length > 0) {
        if (blocks.last is Para) {
          Para last = blocks.last;
  