[basic.pre]

An entity is a variable, structured binding, result binding, function, enumerator, type, type alias, non-static data member, bit-field, template, namespace, namespace alias, template parameter, function parameter, or init-capture.

The underlying entity of an entity is that entity unless otherwise specified.

A name denotes the underlying entity of the entity declared by each declaration that introduces the name.

[Note 6:

Type aliases and namespace aliases have underlying entities that are distinct from themselves.

— end note]