FILE: samConversion.kt
    public abstract fun interface Runnable : R|kotlin/Any| {
        public abstract fun run(): R|kotlin/Unit|

    }
    public abstract fun interface StringConsumer : R|kotlin/Any| {
        public abstract fun consume(s: R|kotlin/String|): R|kotlin/Unit|

    }
    public abstract fun interface Function1<T> : R|kotlin/Any| {
        public abstract fun compute(t: R|T|): R|T|

    }
    public abstract fun interface SuspendSam : R|kotlin/Any| {
        public abstract suspend fun run(): R|kotlin/Unit|

    }
    context(func: R|Runnable|)
    public final fun simple(): R|kotlin/Unit| {
    }
    context(func: R|SuspendSam|)
    public final fun simpleSuspend(): R|kotlin/Unit| {
    }
    context(func: R|StringConsumer|)
    public final fun oneParameter(): R|kotlin/Unit| {
    }
    public final fun doNothing(): R|kotlin/Unit| {
    }
    public final fun acceptString(s: R|kotlin/String|): R|kotlin/Unit| {
    }
    public final fun acceptInt(i: R|kotlin/Int|): R|kotlin/Unit| {
    }
    context(f: R|Function1<T>|)
    public final fun <T> genericLambda(t: R|T|): R|T| {
        ^genericLambda R|<local>/f|.R|SubstitutionOverride</Function1.compute: R|T|>|(R|<local>/t|)
    }
    public final fun stringIdentity(s: R|kotlin/String|): R|kotlin/String| {
        ^stringIdentity R|<local>/s|
    }
    public final fun test(): R|kotlin/Unit| {
        context(SAM(simple@fun <anonymous>(): R|kotlin/Unit| <inline=Unknown>  {
            ^@simple Unit
        }
        )) R|/simple|()
        context(R|/Runnable|(<L> = Runnable@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
            ^@Runnable Unit
        }
        )) R|/simple|()
        context(SAM(::R|/doNothing|)) R|/simple|()
        context(R|/Runnable|(::R|/doNothing|)) R|/simple|()
        context(SAM(simple@fun <anonymous>(it: <ERROR TYPE REF: Cannot infer type for parameter it>): R|kotlin/Unit| <inline=Unknown>  {
            ^@simple Unit
        }
        )) R|/simple<Inapplicable(INAPPLICABLE): /simple>#|(SAM(simple@fun <anonymous>(it: <ERROR TYPE REF: Cannot infer type for parameter it>): R|kotlin/Unit| <inline=Unknown>  {
            ^@simple Unit
        }
        ))
        context(SAM(simple@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simple Unit
        }
        )) R|/simple<Inapplicable(INAPPLICABLE): /simple>#|(SAM(simple@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simple Unit
        }
        ))
        context(SAM(simple@fun <anonymous>(s: R|kotlin/String|, i: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simple Unit
        }
        )) R|/simple<Inapplicable(INAPPLICABLE): /simple>#|(SAM(simple@fun <anonymous>(s: R|kotlin/String|, i: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simple Unit
        }
        ))
        context(SAM(::<Inapplicable(INAPPLICABLE): /stringIdentity>#)) R|/simple<Inapplicable(INAPPLICABLE): /simple>#|(SAM(::<Inapplicable(INAPPLICABLE): /stringIdentity>#))
        lval x: R|() -> kotlin/Unit| = fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
            ^ Unit
        }

        context(SAM(simpleSuspend@fun <anonymous>(): R|kotlin/Unit| <inline=Unknown>  {
            ^@simpleSuspend Unit
        }
        )) R|/simpleSuspend|()
        context(R|/SuspendSam|(<L> = SuspendSam@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
            ^@SuspendSam Unit
        }
        )) R|/simpleSuspend|()
        context(SAM(::R|/doNothing|)) R|/simpleSuspend|()
        context(R|/SuspendSam|(::R|/doNothing|)) R|/simpleSuspend|()
        context(SAM(FConversion(R|<local>/x|))) R|/simpleSuspend|()
        context(SAM(simpleSuspend@fun <anonymous>(it: <ERROR TYPE REF: Cannot infer type for parameter it>): R|kotlin/Unit| <inline=Unknown>  {
            ^@simpleSuspend Unit
        }
        )) R|/simpleSuspend<Inapplicable(INAPPLICABLE): /simpleSuspend>#|(SAM(simpleSuspend@fun <anonymous>(it: <ERROR TYPE REF: Cannot infer type for parameter it>): R|kotlin/Unit| <inline=Unknown>  {
            ^@simpleSuspend Unit
        }
        ))
        context(SAM(simpleSuspend@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simpleSuspend Unit
        }
        )) R|/simpleSuspend<Inapplicable(INAPPLICABLE): /simpleSuspend>#|(SAM(simpleSuspend@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simpleSuspend Unit
        }
        ))
        context(SAM(simpleSuspend@fun <anonymous>(s: R|kotlin/String|, i: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simpleSuspend Unit
        }
        )) R|/simpleSuspend<Inapplicable(INAPPLICABLE): /simpleSuspend>#|(SAM(simpleSuspend@fun <anonymous>(s: R|kotlin/String|, i: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@simpleSuspend Unit
        }
        ))
        context(SAM(::<Inapplicable(INAPPLICABLE): /stringIdentity>#)) R|/simpleSuspend<Inapplicable(INAPPLICABLE): /simpleSuspend>#|(SAM(::<Inapplicable(INAPPLICABLE): /stringIdentity>#))
        context(SAM(oneParameter@fun <anonymous>(it: R|kotlin/String|): R|kotlin/Unit| <inline=Unknown>  {
            R|<local>/it|.R|kotlin/String.length|
        }
        )) R|/oneParameter|()
        context(R|/StringConsumer|(<L> = StringConsumer@fun <anonymous>(it: R|kotlin/String|): R|kotlin/Unit| <inline=NoInline>  {
            R|<local>/it|.R|kotlin/String.length|
        }
        )) R|/oneParameter|()
        context(SAM(oneParameter@fun <anonymous>(it: R|kotlin/String|): R|kotlin/Unit| <inline=Unknown>  {
            R|<local>/it|.R|kotlin/String.length|
        }
        )) R|/oneParameter|()
        context(SAM(oneParameter@fun <anonymous>(it: R|kotlin/String|): R|kotlin/Unit| <inline=Unknown>  {
            R|<local>/it|.R|kotlin/String.length|
        }
        )) R|/oneParameter|()
        context(SAM(::R|/acceptString|)) R|/oneParameter|()
        context(R|/StringConsumer|(::R|/acceptString|)) R|/oneParameter|()
        context(SAM(::R|/stringIdentity|)) R|/oneParameter|()
        context(R|/StringConsumer|(::R|/stringIdentity|)) R|/oneParameter|()
        context(SAM(oneParameter@fun <anonymous>(it: R|kotlin/String|, x: <ERROR TYPE REF: Cannot infer type for parameter x>): R|kotlin/Unit| <inline=Unknown>  {
            R|<local>/it|.R|kotlin/String.length|
        }
        )) R|/oneParameter<Inapplicable(INAPPLICABLE): /oneParameter>#|(SAM(oneParameter@fun <anonymous>(it: R|kotlin/String|, x: <ERROR TYPE REF: Cannot infer type for parameter x>): R|kotlin/Unit| <inline=Unknown>  {
            R|<local>/it|.R|kotlin/String.length|
        }
        ))
        context(SAM(oneParameter@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@oneParameter Unit
        }
        )) R|/oneParameter<Inapplicable(INAPPLICABLE): /oneParameter>#|(SAM(oneParameter@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <inline=Unknown>  {
            ^@oneParameter Unit
        }
        ))
        context(SAM(::<Inapplicable(INAPPLICABLE): /acceptInt>#)) R|/oneParameter<Inapplicable(INAPPLICABLE): /oneParameter>#|(SAM(::<Inapplicable(INAPPLICABLE): /acceptInt>#))
        context(SAM(genericLambda@fun <anonymous>(it: R|kotlin/String|): R|kotlin/String| <inline=Unknown>  {
            ^ R|<local>/it|.R|kotlin/String.length|.R|kotlin/Int.toString|()
        }
        )) R|/genericLambda|<R|kotlin/String|>(String())
        context(R|/Function1|<R|kotlin/String|>(<L> = Function1@fun <anonymous>(it: R|kotlin/String|): R|kotlin/String| <inline=NoInline>  {
            ^ R|<local>/it|.R|kotlin/String.length|.R|kotlin/Int.toString|()
        }
        )) R|/genericLambda|<R|kotlin/String|>(String())
        context(R|/Function1|<R|kotlin/String|>(<L> = Function1@fun <anonymous>(it: R|kotlin/String|): R|kotlin/String| <inline=NoInline>  {
            ^ R|<local>/it|.R|kotlin/String.length|.R|kotlin/Int.toString|()
        }
        )) R|/genericLambda|<R|kotlin/String|>(String())
        context(SAM(::R|/stringIdentity|)) R|/genericLambda|<R|kotlin/String|>(String())
        context(R|/Function1|<R|kotlin/String|>(::R|/stringIdentity|)) R|/genericLambda|<R|kotlin/String|>(String())
        context(R|/Function1|<R|kotlin/String|>(::R|/stringIdentity|)) R|/genericLambda|<R|kotlin/String|>(String())
        context(SAM(genericLambda@fun <anonymous>(it: R|kotlin/String|): R|kotlin/String| <inline=Unknown>  {
            ^ R|<local>/it|.R|kotlin/String.length|.R|kotlin/Int.toString|()
        }
        )) R|/genericLambda|<R|kotlin/String|>(String())
        context(SAM(::R|/stringIdentity|)) R|/genericLambda|<R|kotlin/String|>(String())
    }
