`Control.Exception.bracket` is a nice function to acquire and release a resource in a small context.
But, how should I handle resources that are hold for a long time?
Should I put `Control.Exception.finally` on every single line of my finalizers?
What exceptions may occur on an IO operation?
Every IO function has the risk of throwing an exception?
Thanks,
Thiago.