anchor.diff:          }
           return str;
         });
  +      if (!list.tight) {
  +        contents += '\n';
  +      }
         result += contents;
       });
  +    if (!list.tight) {
  +      result += '\n';
  +    }
       return result;
     }
   
  
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:     String result = "";
      list.items.forEach((ListItem listItem) {
        String pad;
        String contents = writeBlocks(listItem.contents, list.tight);
        contents = contents.splitMapJoin("\n", onNonMatch: (String str) {
          if (pad == null) {
            String marker = list.bulletType.char + " ";
  