I think the only way values can be extracted from Unique!T containers is by copying them, and those values cannot contain any non-immutable references. A Unique!T can be implicitly cast to mutable/shared/immutable, which then grants direct mutable/shared/immutable access, but it won't be unique anymore.