¿Es posible ocultar variables del cierre de lambda?

Estoy tratando de crear un constructor de tipo groovy seguro para types en Kotlin como se describe aquí . El problema es la visibilidad de los receptores lambda en lambdas nesteds. Aquí hay un ejemplo simple.

html { head(id = "head1") body() { head(id = "head2") } } 

El receptor de la lambda anidada es el cuerpo que no tiene el método de "cabeza". Sin embargo, este código comstack e imprime en esto:

 <html> <head id="head1"></head> <head id="head2"></head> <body></body> </html> 

Se espera pero, ¿hay alguna forma de get un error de compilation en la parte interna de la cabeza?

    A partir de Kotlin 1.0 esto no es posible. Hay una request de function abierta para esta funcionalidad.