rename RepresentableFunctor to HomFunctor