Если последний параметр — функция, лямбду можно вынести за скобки: lock { critical() }.
Разбор
- Основа читаемых DSL и scope API.
- Несколько лямбд — выносится только последняя.
- Можно комбинировать с именованными args.
- Стиль Android/Compose сильно на этом строится.
Итог
Trailing lambda делает API похожим на встроенный синтаксис языка.