Kotlin: ¿parameters de function enviados pero no ejecutados?

Tengo el siguiente código que pasa en un integer y dos funciones.

choseNavigation(childPos, {Toast.makeText(ctx, "hello1", Toast.LENGTH_SHORT).show()}, {Toast.makeText(ctx, "hello2", Toast.LENGTH_SHORT).show()}) 

La definición de la function de la siguiente manera:

 private fun choseNavigation(pos: Int, action1: () -> Unit, action2: () -> Unit) { when(pos) { 0-> { action1 Toast.makeText(ctx, "hello-again1", Toast.LENGTH_SHORT).show() } 1->{ action2 Toast.makeText(ctx, "hello-again2", Toast.LENGTH_SHORT).show() } } } 

Cuando mi childPost es 0, espero que sea Toast hello1 y hello-again1 . Y cuando es 1, espero que sea Toast hello2 y hello-again2 .

Sin embargo, cuando ejecuto la function, solo hello-again1 o hello-again2 . La function de envío no se está activando en absoluto. ¿Yo me perdí algo?