Crucially, the queue takes over ownership of the pointer once it's been enqueued.