blatantly 1 day ago

What about libraries though? They might force you to use certain monads rather than IO?

1
kqr 1 day ago

The libraries I use either have, or at least allow, IO at the base of their transformer stacks, so any IO action is a liftIO away.