El desajuste genérico del tipo de receptor de properties de extensión no coincide

El siguiente código:

package com.gitlab.morality.navigable.support import android.support.v4.app.Fragment import android.support.v4.app.FragmentActivity import kotlin.reflect.primaryConstructor interface Navigable val <FragmentType> FragmentType.parameters : MutableMap<String, in Any> where FragmentType : Fragment, FragmentType : Navigable by lazy { mutableMapOf<String, Any>() } inline fun <reified FragmentType> FragmentType.navigate(containerViewId : Int, vararg parameters : Pair<String, Any>) where FragmentType : Fragment, FragmentType : Navigable { val fragment = FragmentType::class.primaryConstructor!!.call() parameters.forEach { fragment.parameters[it.first] = it.second } activity.supportFragmentManager.beginTransaction() .replace(containerViewId, fragment) .commit() } 

Provoca los siguientes compiler errors con Kotlin 1.0.5:

Error: (34, 9) La function en línea API pública no puede acceder a la function de apertura interna de la API no pública (): [ERROR:] definido en el package raíz '

Error: (34, 18) Referencia no resuelta. Ninguno de los siguientes candidatos es aplicable debido a la discrepancia del tipo de receptor: public val FragmentType # 1 (tipo parameter de com.gitlab.morality.navigable.support.navigate) .parameters: MutableMap donde FragmentType: navegable definido en com.gitlab.morality. navigable.support

No entiendo lo que estoy haciendo mal aquí. ¿Qué significan estos posts de error?

Puedo solucionar el problema haciendo que los parameters propiedad de un miembro de Navigable , pero luego se requiere un implementador para implementar la propiedad, lo que le quita la atracción de esta técnica, que es que una class implementadora no necesita hacer nada especial más allá de ser marcado como Navigable para hacer uso de la funcionalidad Navigable .