AP
Size: a a a
Д
AP
state, даД
let (a,w) = runWriter m in state $ \s -> (a, s `mappend` w)AP
D
data Identity a = I a
я определяю для него инстанс функтора, чтобы разворачивать данный тип до ближайшего типа, уже имеющего функторinstance Functor Identity where
...
я определяю для него инстанс аппликатива для последовательной аппликацииinstance Applicative Identity where ...GP
GP
D
GP
GP
GP
D
GP
D
GP
D
AP