Случай использования анонимной функции Kotlin?

Основываясь на моем понимании, анонимная функция в Kotlin позволяет указать тип возврата. В дополнение к этому оператор return внутри анонимного выхода выйдет только из функционального блока, а в лямбда он выйдет из закрывающей функции.

Тем не менее, я не могу себе представить, каков был бы реальный случай использования анонимной функции в Котлине, который синтаксис лямбда не может обеспечить?

Функция высших порядков Котлина и лямбда

Вариант использования заключается в том, что иногда мы можем явно указывать тип возвращаемого значения. В таких случаях мы можем использовать так называемую анонимную функцию. Пример:

fun(a: String, b: String): String = a + b 

Или лучше вернуть управление, например:

 fun(): Int { try { // some code return result } catch (e: SomeException) { // handler return badResult } } 

Анонимные функции (так называемые функциональные выражения) очень удобны, когда вам приходится передавать огромную лямбду со сложной логикой и желать скорейшего возвращения на работу. Например, если вы пишете диспетчер в spark-java :

 get("/", fun(request, response) { // Your web page here // You can use `return` to interrupt the handler })