When you need to do the ol’ switcheroo with some memory mem::replace comes in useful.
take() is handy, read more about this. Sometimes you just have to get your hands dirty and do some lifetimes, just a fact of life, get used to it son. Revise some of these impl types, to understand better how they function with std library collections.