I think we only want to expose either trimMemory or trimToSize as part of the external interface (probably just trimMemory so we don't need to keep track of the pool's size outside of the pool?).