функция foo(): String? которя внутри может выкинуть исключение. Нужно вызвать функцию и проверить что результат не null, т.е. после вызова будет Try<String?> а получить хочется Try<String>. Можно конечно сделать flatMap и там вернуть Success<String> или Failure, но это странно, т.к. при проверке исключение и не нужно. Как такой кейс идеоматично разрулить? Может использовать другой контейнер типа Either?
У нуллабл типов есть экстеншн .toOption
Обсуждают сегодня