Restricted the name resolving only to typedef kind

All other reference types (pointer, const, restrict, volatile) do not have a
name by design, their purpose is to solely mark a fact. On the other hand, the
typedef relies on the name property heavily.
Function argument documentation