{-# language DerivingStrategies, GeneralisedNewtypeDeriving, DeriveFunctor #-} ... newtype MyTree a = MkMyTree (Tree (MyData, a)) deriving newtype (Functor) Насчёт монады я не уверен. Как ты будешь return делать, если у тебя MyData не моноид?
<interactive>:15:65: error: • Can't make a derived instance of ‘Functor MyTree’ with the newtype strategy: cannot eta-reduce the representation type enough • In the newtype declaration for ‘MyTree’ Упс!
Обсуждают сегодня