anchor.diff:    static Parser blockquoteLine = (blockquoteStrictLine ^ (l) => [true, l])
       | (blockquoteLazyLine ^ (l) => [false, l]);
   
  -  bool acceptLazy(List<Block> blocks, String s) {
  +  bool acceptLazy(Iterable<Block> blocks, String s) {
       if (blocks.length > 0) {
         if (blocks.last is Para) {
           blocks.last.contents.raw += "\n" + s;
  
positive.code:   //
  
    static Parser get unorderedListMarkerTest => ((skipNonindentSpaces.notFollowedBy(hrule) > oneOf('-+*')) < char(' '));
    static Parser listFirstLine(int indent, Parser marker) => (atMostSpaces(indent).notFollowedBy(hrule) + marker + anyLine).list;
    static Parser listStrictLine(int indent) => string(" " * indent) > anyLine;
    static Parser get listLazyLine => skipNonindentSpaces > anyLine;
  
negative.code:     }).run(s, pos);
    });
  
    Parser get orderedList => new Parser((s, pos) {
      ParseResult testRes = orderedListMarkerTest.run(s, pos);
      if (!testRes.isSuccess) {
        return testRes;
      }
      int startIndex = num.parse(testRes.value[0].join());
      String indexSeparator = testRes.value[1];
  
      return (list(digit.many1 > string(indexSeparator + " ")) ^ (items) {
        IndexSeparator separator;
        switch(indexSeparator) {
          case '.':
            separator = IndexSeparator.DotSeparator;
            break;
  
          case ')':
            separator = IndexSeparator.ParenthesisSeparator;
            break;
  
          default:
            assert(false);
            separator = IndexSeparator.DotSeparator;
        }
  
        return [new OrderedList(items, separator, startIndex)];
      }).run(s, pos);
    });
  
    //
    // Document
    //
  