This code is actually about file system abstraction, and not general modeling of side effects. It was written quite some time ago (2016 I think). That was before cats-effect was mature.
Now, cats-effect is one of the crown jewels of the scala ecosystem, and we should use that to better communicate which methods are running side effects vs not. So to prepare for that, we should rename this file system abstraction FS instead of IO.
This code is actually about file system abstraction, and not general modeling of side effects. It was written quite some time ago (2016 I think). That was before cats-effect was mature.
Now, cats-effect is one of the crown jewels of the scala ecosystem, and we should use that to better communicate which methods are running side effects vs not. So to prepare for that, we should rename this file system abstraction FS instead of IO.