Thanks for your response.
You right `CancelllationException` or other unexpected errors should not be handled. In that case it is easy to solve by checking if the exception is handleable and if not, then just re-throw it.
Regarding your link to avoid throwing exception. I think I understand, what you trying to say. But with the example of API usage for me having special ApplicationError throwable with all needed info and Failure class are the same things. Because in the first case you have self generated exception, which you will not generate for unexpected errors and thus, they will be re-thrown.
But you totally right, `runCatching` is just a bulldozer, thus, if should be used with caution.