FILE: inFunctionalType.kt
    public final class A : R|kotlin/Any| {
        public constructor(): R|A| {
            super<R|kotlin/Any|>()
        }

        public final fun foo(a: R|kotlin/String|): R|kotlin/String| {
            ^foo R|<local>/a|
        }

    }
    context(ctx: R|A|)
    public final fun <A> implicit(): R|A| {
        ^implicit R|<local>/ctx|
    }
    public final val x: R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String|
        public get(): R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String| {
            ^ fun <anonymous>(y: R|kotlin/String|): R|kotlin/String| <inline=Unknown>  {
                ^ R|/implicit|<R|A|>().R|/A.foo|(R|<local>/y|)
            }

        }
    public final var y: R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String|
        public get(): R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String| {
            ^ fun <anonymous>(y: R|kotlin/String|): R|kotlin/String| <inline=Unknown>  {
                ^ R|/implicit|<R|A|>().R|/A.foo|(R|<local>/y|)
            }

        }
        public set(value: R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String|): R|kotlin/Unit| {
            R|<local>/value|.R|SubstitutionOverride<kotlin/Function2.invoke: R|kotlin/String|>|(R|/A.A|(), String())
        }
    public final fun bar(a: R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String|): R|kotlin/Unit| {
    }
    public final fun qux(): R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String| {
        ^qux fun <anonymous>(y: R|kotlin/String|): R|kotlin/String| <inline=Unknown>  {
            ^ R|/implicit|<R|A|>().R|/A.foo|(R|<local>/y|)
        }

    }
    public final class ContextInSuperType : R|@ContextFunctionTypeParams (A, kotlin/String) -> kotlin/String| {
        public constructor(): R|ContextInSuperType| {
            super<R|kotlin/Any|>()
        }

        public open override operator fun invoke(p1: R|A|, p2: R|kotlin/String|): R|kotlin/String| {
            ^invoke R|<local>/p2|
        }

    }
    public final fun test(): R|kotlin/Unit| {
        R|/x|.R|SubstitutionOverride<kotlin/Function2.invoke: R|kotlin/String|>|(R|/A.A|(), String())
        R|/y|.R|SubstitutionOverride<kotlin/Function2.invoke: R|kotlin/String|>|(R|/A.A|(), String())
        R|/y| = fun <anonymous>(y: R|kotlin/String|): R|kotlin/String| <inline=Unknown>  {
            ^ R|/implicit|<R|A|>().R|/A.foo|(R|<local>/y|)
        }

        R|/bar|(<L> = bar@fun <anonymous>(y: R|kotlin/String|): R|kotlin/String| <inline=NoInline>  {
            ^ R|/implicit|<R|A|>().R|/A.foo|(R|<local>/y|)
        }
        )
        R|/qux|().R|SubstitutionOverride<kotlin/Function2.invoke: R|kotlin/String|>|(R|/A.A|(), String())
        R|/ContextInSuperType.ContextInSuperType|().R|/ContextInSuperType.invoke|(R|/A.A|(), String())
    }
