Anko: scope interno de aplicar, resolución de propiedad confusa

Estoy escribiendo un layout de Android usando Anko DSL. Al definir un TextView , quería TextView al centro, así que escribí esto:

 verticalLayout { textView(R.string.txt_greeting).apply { gravity = Gravity.CENTER_HORIZONTAL // <- this should have changed the alignment textSize = 20.0f } //... } 

Pero la alignment no cambió. En el depurador, vi que la gravedad está establecida para el LinearLayout que es el TextView de TextView .

Cambiar la statement a cualquiera

 textView(R.string.txt_greeting).let { it.gravity = Gravity.CENTER_HORIZONTAL } 

y

 textView(R.string.txt_greeting).apply { this@apply.gravity = Gravity.CENTER_HORIZONTAL } 

e incluso

 textView(R.string.txt_greeting).apply { this.gravity = Gravity.CENTER_HORIZONTAL } 

resuelve el problema, por lo tanto, en el código original implícito, this definitivamente se resuelve en this@verticalLayout .

¿Por qué pasó esto?

¿Entiendo mal algo en Kotlin lambdas o es un error en Kotlin o Anko?