Specialize type of ident to avoid bugs

ident is intended to call read only on Name, not on other types, so it
should not be polymorphic.