Do-notation хочу поделиться отличной статьёй о видах коробок(контекстах), в которых могут происходить вычисления. Для меня интересным было узнать, о спецэфектах которые может вытворять монада для массивов. Часто использую её для генерации всех возможных пропсов, которые использую в тестах UI компонентов.
https://ruhaskell.org/posts/theory/2018/01/18/effects-haskell.html