Added hom def, and required instances for Hom