Consumption may not work as intended, I believe you can continue to create `&mut T` pointers via `&mut *expr` (reborrowing).