Pretty cool to have a first-class tracing mechanism. Obviously... it's a monad! Haskell has had a MonadTrace monad for a long time, that can be switched on or off depending on your environment.
https://hackage.haskell.org/package/tracing-0.0.7.4/docs/Con...
haskell guys gonna call for loop a monad and then gush how amazing monads are