Кто-нибудь может объяснить, почему исключения может быть выброшен за пределы монады ввода-вывода, но может быть пойман только внутри нее?