But there's a solution: catios! Catios are patios for your cats, essentially outdoor When it comes to catios, there aren't any rules. You're the designer, so the options are almost...I've found it significantly clutters the code and makes seemingly simple tasks (logging, http requests, etc) Thanks for your answer, and for clarifying the open questions. I wasn't sure where to hang my comment scala> pure res1: cats.effect.IO[Unit] = IO$407415524. Nothing happens (no side effects...