¿Cómo puedo verificar el tipo genérico en Kotlin?

Estoy tratando de probar un tipo genérico en Kotlin.

if (value is Map<String, Any>) { ... } 

Pero el comstackdor se queja con

No se puede verificar, por ejemplo, el tipo borrado: jet.Mapa

El cheque con un tipo normal funciona bien.

 if (value is String) { ... } 

Kotlin 0.4.68 es usado.

¿Que me estoy perdiendo aqui?

El problema es que los arguments de tipo se borran, por lo que no se puede comparar con el tipo de map completo, porque en el time de ejecución no hay información sobre esos String y Any.

Para solucionar esto, usa comodines:

 if (value is Map<*, *>) {...}