anchor.diff:    // ATX Header
   
     Parser get atxHeader => new Parser((s, pos) {
  -    Parser startParser = ((skipNonindentSpaces > char('#').many1) < spaceChar) < skipSpaces;
  +    Parser startParser = skipNonindentSpaces > char('#').many1;
       ParseResult startRes = startParser.run(s, pos);
       if (!startRes.isSuccess) {
         return startRes;
  
positive.code:     if (level > 6) {
        return fail.run(s, pos);
      }
      ParseResult textRes = anyChar.manyUntil(char('#').many > blankline).run(s, startRes.position);
      if (!textRes.isSuccess) {
        return textRes;
      }
  
negative.code: 
    // TODO paragraph could be ended by other block types
    Parser get para => new Parser((s, pos) {
      Parser end = blankline | hrule | atxHeader;
      ParseResult res = (end.notAhead > anyLine).many1.run(s, pos);
      if (!res.isSuccess) {
        return res;
  