сокращения работы с try/сatch блоками? другого назначения нет?
Сложный вопрос. А List.map -- это просто утилита, чтобы не писать forEach { newList.add }, или есть какие-то назначения?
Ну вот и я на ваш вопрос ответить затрудняюсь :)
Там два вопроса, не один
Есть некоторая юзкейс, для которого kotlin.Result изначально был написан в контексте корутин: это объект результата вычисления в какой-то потоке, где либо произошло исключение, не важно какое, и надо пойти падать дальше, либо все хорошо.
Или давайте обобщим: вы можете передать куда-то коллбек типа () -> T и понять, что произошло, если вам вернули T, при этом вы знаете, что вычисление, которое вам там нужно выполнить может упасть с исключением, при этом вам не важно, каким именно. Тогда Result как T оптимален.
Обсуждают сегодня