Adding instances for IdentityT

Also, some refactoring -- I noticed a few instances could be replaced by derived ones.