Здесь задействованы 3 различных понятия.Тип функции, класс типа Functor и «экземпляр» Functor.Тип функции (->) встроен в язык, и его существование и реализация полностью не связаны с Functor и fmap.Класс типа - это спецификация сигнатуры связанных с ней методов.«Экземпляр» является реализацией этой подписи.
Поэтому, чтобы сделать ваш вопрос более понятным, я бы перефразировал его как «почему экземпляр Functor для (->) не представлен в Prelude?»(Prelude является модулем, который находится в области действия по умолчанию).Как это в настоящее время сформулировано, это не имеет большого смысла.
Ответ на измененный вопрос прост: отчет по Haskell (официальная языковая спецификация, в которой указан интерфейс Prelude) нене включайте это.Возможно, так и должно быть, но язык и библиотеки на Haskell с тех пор сильно эволюционировали, и стандарты на Haskell, как правило, меняются медленно.В любом случае, правильно или неправильно, вот почему.