So the static_assert in TBufferArchive wants to use the template parameter , and coincidentally in the base class TMemoryWriterBase there is a private static variable named IndexSize, which it instead tries to take (and can’t because it’s private).
Since that variable is private, it should only be used in this class, so we can rename all occurances of “IndexSize” in memorywriter.h to something else (IndexSizeX or whatever), then the static_assert will end up taking the template-parameter instead of the variable.