This is really anti-FP solution relying on Monix mechanics.
Alexander Semenov

I understand your reservations, though it’s often a matter of preference and the whole ecosystem in which you work. As much as I’m a fan of FP, I don’t think wrapping logging statements into the IO monad brings much benefit. On the contrary, it might hurt code readability. Same with trace ids — the signatures are often complicated enough.

There’s space for both approaches. Using ReaderT or MTL (as in is tempting because of the simplicity of the underlying mechanisms.

I don’t mind however that my chosen effect monad does some extra work, esp if this is something as ubiquitous as request tracing.