name!() macro, which can be used to assign type names to values. This can be
used to implement in part the "Ghosts of Departed Proofs" pattern. Be very careful using this
crate, and see the README for some caveats.
An owned value which has name Name. This type is unique to this Named, so it can be used to enforce compile-time coherency
Create a named value. You probably don't want to use this, but instead want to use the name!() macro that calls this.