# Access Permissions This trait moves the shared/exclusive access system from disparate fundamentals (`*const T`/`&T`, `*mut T`/`&mut T`) into the trait and generic system. It is implemented by two token types: `Shared` and `Unique`, which correspond to `*const`/`&` and `*mut`/`&mut`, respectively. When combined with the [`Pointer`] and [`Reference`] types, these can be used to track access controls through the trait system, including implementing a permission history stack in the type parameters. This trait is not expected to be public API except as a bound for generic type parameters. It contains functionality required to bridge between `Pointer` and the raw pointers, but is otherwise not itself notable.