Короче я бы сказал, что когда тред исполняющий safeHead ловит эксепшен — это не то же, что safeHead что-то возвращает или кидает, она вообще не возвращает ничего, потому что вычисление прервалось. А процесс вычисления не должен влиять на свойство тотальности наверное
ну для пользователя функции то это одинаково будет выглядеть, что сейфХед вычислился в ботом, что ансейфХед вычислился в боттом