4 Likes
The reason GHC/Haskell use monadic IO has more to do with laziness (that’s the reason for the unlifted types - not performance).
4 Likes
Indeed, with laziness the evaluation is guided by pattern matching, and thus recursive data structures are a good choice.