Use an actual identity type in AR::Result#identity_type

We should be able to rely on this object implenting the full type
interface.
Merge pull request #15586 from sgrif/sg-identity-type

Use an actual identity type in AR::Result#identity_type