Generates a new global singleton type with a fallible constructor.
This is intended for cases where a single instance is created early
in the program and passed throughout.
This trait denotes a type which has at most one logical identity at all times.
This is sufficient to make borrowing decisions based only on the type, without
regards to value identity.
Generate a local token type which is guaranteed to be a singleton via
a unique lifetime brand. SCells can be created within this scope via
SCell::new or SCell::from_mut and used via this token.