> Behind every "pure" function in bytestring, text, and vector lies a cheerful little hellscape of mutable allocation
> What makes it acceptable is that the side effects are encapsulated such that the boundary cannot be violated.
blog.haskell.org/a-couple-mil...