If I were to do this now, I would probably: * make a pool with `MaybeUninit`s * have a specific "allocate new" that does the alloc, then if you get the space, write directly into the buffer * Give the user the `Box`