Freeing memory withing struct

Preallocations would also hold preallocations for other operations

Use separate ones?

I think Kristoffer means you should use:

empty!(s.x)
sizehint!(s.x, 0)

as otherwise the “reserve” size for s.x stays at the large size and occupies memory (I think).