В свободное время я изучаю Haskell, так что это вопрос для начинающих. Итак, у нас есть тип Right (gx)
- Either ad
, чего мы и ожидаем от fmap
(см. 2. выше)
сейчас , если мы посмотрим на Left (gx)
, мы можем использовать те же рассуждения, чтобы сказать, что его тип - Either (gx) b
, то есть Either db
, чего мы не ожидаем от fmap
(см. 2. выше): d
должен быть вторым параметром, а не первым! Таким образом, мы не можем сопоставить Left
.
Верны ли мои рассуждения?