== Why Homsets and not Homclases. == 

 Is this restriction necessary, other than for the applicability of Yoneda's Lemma? 

 Since one of the aims of category theory seems to be to make everything as general as possible 

 Why not define  
 Hom(A,–)  C → Class (category of classes)