anchor.diff:      }
   
       throw new UnimplementedError(block.toString());
  -  }).join("\n");
  +  }).join(tight ? "" : "\n");
   
     String writeHorizontalRule(HorizontalRule hRule) {
       return '-' * 10;
  
positive.code:     return blocks + _writeReferences();
    }
  
    String writeBlocks(Iterable<Block> blocks) => blocks.map((Block block) {
      if (block is Para) {
        return writePara(block);
      } else if (block is Plain) {
        return writeInlines(block.contents) + "\n";
      } else if (block is Header) {
        return writeHeader(block);
      } else if (block is HorizontalRule) {
  
negative.code:         }
          return str;
        });
        if (!list.tight) {
          contents += '\n';
        }
        result += contents;
      });
      if (!list.tight) {
        result += '\n';
      }
      return result;
    }
  
  