FILE: KotlinInterfaceWithContextType.kt
    public abstract interface KotlinInterfaceWithContextType : R|kotlin/Any| {
        public abstract fun foo(a: R|@ContextFunctionTypeParams (kotlin/String, kotlin/String) -> kotlin/String|): R|kotlin/String|

        public abstract fun bar(a: R|@ContextFunctionTypeParams kotlin/String.(kotlin/String, kotlin/String) -> kotlin/String|): R|kotlin/String|

    }
FILE: test.kt
    public abstract interface IntersectionWithContextType : R|JavaInterface|, R|KotlinInterfaceWithContextType| {
    }
    public final fun usage(a: R|IntersectionWithContextType|): R|kotlin/Unit| {
        R|<local>/a|.R|/KotlinInterfaceWithContextType.foo|(<L> = context(<unused var>: R|kotlin/String|) foo@fun <anonymous>(b: R|kotlin/String|): R|kotlin/String| <inline=NoInline>  {
            ^ context(R|<local>/<unused var>|) R|/implicit|<R|kotlin/String|>().R|kotlin/String.plus|(R|<local>/b|)
        }
        )
        R|<local>/a|.R|/KotlinInterfaceWithContextType.bar|(<L> = context(<unused var>: R|kotlin/String|) bar@fun R|kotlin/String|.<anonymous>(b: R|kotlin/String|): R|kotlin/String| <inline=NoInline>  {
            ^ R|/implicit<Inapplicable(INAPPLICABLE): /implicit>#|<R|kotlin/String|>().R|kotlin/String.plus|(this@R|special/anonymous|).R|kotlin/String.plus|(R|<local>/b|)
        }
        )
    }
    context(ctx: R|T|)
    public final fun <T> implicit(): R|T| {
        ^implicit R|<local>/ctx|
    }
