We have a bunch of functions operating in the MonadThrow, which means they can throw an error/exception.
The thing is, right now, most of the errors thrown are coming directly from the underlying path functions that we call, which means user needs to import path library in order to be able to handle them!
Instead, we should catch and convert those errors into our own errors, that user's can handle without knowing about and importing path library.