Haskell has <$> and the infrastructure of HKTs to stop this infectious propagation of IO, other languages do not, and their async/await colors do not isolate side-effectful actions from the rest pure parts of your codebase.
https://hackage.haskell.org/package/base-4.20.0.1/docs/Prelu...