Typeclassopedia говорит:
"Аналогичный аргумент также показывает, что любой экземпляр Functor, удовлетворяющий первому закону (fmap id = id), автоматически удовлетворяет второму закону. Практически это означает, что нужно проверять только первый закон (обычно простая индукция), чтобы убедиться, что экземпляр Functor действителен.
Если это так, то почему мы даже упоминаем второй закон функтора?
Law 1: fmap id = id
Law 2: fmap (g . h) = (fmap g) . (fmap h)