Thanks very much for your clear explanation! Worked perfectly.
Thanks for taking the time to say this :)
I hope I didn't belabor the mismatched effects bit. Combining effects is a wide open field of research if you look at papers like Extensible Effects, Monad Coproducts, etc.
Point being, there just might be a way to make your code as originally written compile and work as you expect it to. Ah, the joys of life at the bleeding edge!