Kotlin Result DSL
d_r_qИ кстати в догонку про обработку ошибок.
Я в своё время прям сильно впечатлился Rust-овским try! (Который уже оказывается стал ?-оператором)
И недавно запилил драфт похожей для штуки для Котлина:

Это аналог вот такому коду:

Совсем однострочник сделать не получается, т.к. в Котлине нет полноценных макросов, а для того чтобы это приём абстрагировать в функцию, в ней надо сделать ретарн из произвольной вызывающей функции с неизвестным типом возврата.
Но спрашивается зачем всё это?
В Котлине возврат того или иного Result - это единственный способ явно показать вызывающему коду, что функция может ошибиться. А очевидность вообще и очевидность мест где что-то может пойти не так - это основа эргономичного кода.
Но если это делать наивно, то получается код как из втрого примера.
Вообще Result-ы как правило являются монадами и с ними можно работать так:

И так получается даже короче. Но (в Котлине по крайней мере) монады не масштабируются.
Например, если надо выполнить ИО-операцию на базе результата первых двух (и только в случае их успеха), то будет вот такой адок:

С моим же DSL-ем, всё будет прилично:
