This is super useful though. It allows you to swap out implementations for things like logging and monitoring. Not sure what the confusion is here.
Instead, it is a case of the active users of the library saying, "Wow, the Effect way of doing this is so much nicer, can we have everything this way please?"