¿Cómo usar una function llamada "val ()" en Kotlin? / extender classs externas de JS

Me encontré con un problema al intentar usar Cloud Functions for Firebase con Kotlin .

Al acceder a los datos de un activador de database , utiliza snapshot.val(); function en Javascript . En Kotlin esto no es posible porque val es una palabra key en Kotlin . Logré una forma de evitar esto usando

 snapshot.`val()` 

De esta forma puedo llamar funciones con cualquier nombre en Kotlin . Ahora creo que es realmente molesto escribir este "acento grave" (`) cada vez, así que traté de crear una function de extensión.

Mi problema con eso es que no sé cómo hacer reference al tipo. En Javascript , es DeltaSnapshot o DataSnapshot cuando se accede a la database.

¿Cómo extiendo las classs externas o cómo puedo llamarlo por un nombre diferente? Los subtítulos no funcionarán porque están limitados a classs / en lugar de funciones de soporte.

¿Has intentado seguir?

 external class MyClass { @JsName("val") fun foo() } 

En javascript, una class también es un object

 snapshot['val'](); 

Más genérico

 object[functionName](); object[functionName].call(object, ...args); object[functionName].apply(object, args);