Isn't that exactly why they're making IO explicit in functions? So you can trace it up the call chain.