например, чтобы написать конструкцию
do {
expr1
expr2
} которая раскроется в
for {
() <- expr1
() <- expr2
} yield ()
Конкретно вот так не получится, потому что do зарезервированное слово, если я не ошибаюсь. Но вообще что-то подобное можно на макросах сделать