IK
interface Context<J> {
}
Все прекрасно, контекст всегда можно подставить, до того злосчастного момента, когда мне нужно, чтобы контекст предоставлял "J" в функцию с reified тайп-параметром:
inline fun <J, reified A: Any> Context<J>.f(key: String) = TypedFieldLens<J>(key, A::class)
Сделать inline внутри контекста я не могу. Сделать только параметр A вне контекста я тоже не могу. Я в некотором тупике..