In order to enhance the ergonomics of using Ref and Resource when they are backed by IO, a couple of type aliases are introduced.
Besides this, foldM is moved from EnvIO to Kleisli, as it is applicable on more types than only EnvIO. A utility foldA is added as an alias to foldM for non-effectful functions.
Goal
In order to enhance the ergonomics of using
Ref
andResource
when they are backed byIO
, a couple of type aliases are introduced.Besides this,
foldM
is moved fromEnvIO
toKleisli
, as it is applicable on more types than onlyEnvIO
. A utilityfoldA
is added as an alias tofoldM
for non-effectful functions.