writer.footnotes must be a pointer as we copy the writer in nodesAsString() and can thus end up modifying the footnotes.list slice without it being reflected in the original writer (i.e. when the backing array of the slice changes).