YS
Size: a a a
YS
AV
AV
YS
AV
pure :: a -> m aAV
AV
pure 1 >>= pureAV
m Int т.е. компилятор не может вывести что же за контекст это такойYS
AI
AV
AV
let foo = pure 1 >>= pure 1
foo >>= print
print (foo :: Maybe Int)
AV
IO Int, а во втором Maybe IntAV
AI
AV
mAV
AI
AS