An RAII guard used to root underlying data in CustomAutoRooter until the
guard is dropped (falls out of scope).
The underlying data can be accessed through this guard via its Deref and
DerefMut implementations.
This structure is created by root method on CustomAutoRooter or
by the auto_root! macro.