FILE: main.kt
    public final class Handler<H> : R|kotlin/Any| {
        public constructor<H>(reader: R|(@R|kotlin/ParameterName|(name = String(s))  java/io/InputStream) -> H|): R|Handler<H>| {
            super<R|kotlin/Any|>()
        }

        public final val reader: R|(@R|kotlin/ParameterName|(name = String(s))  java/io/InputStream) -> H| = R|<local>/reader|
            public get(): R|(@R|kotlin/ParameterName|(name = String(s))  java/io/InputStream) -> H|

        public final fun foo(f: R|kotlin/Boolean|): R|Subscriber<H>| {
            lval inputSubscriber: R|ft<Subscriber<java/io/InputStream!>, Subscriber<java/io/InputStream!>?>| = Q|Subscribers|.R|/Subscribers.of*s|()
            lval subscriber: R|ft<Subscriber<ExplicitTypeArgumentIfMadeFlexibleSyntheticallyTypeAttribute(coneType=java/io/InputStream?, relevantFeature=DontMakeExplicitJavaTypeArgumentsFlexible) java/io/InputStream!>, Subscriber<ExplicitTypeArgumentIfMadeFlexibleSyntheticallyTypeAttribute(coneType=java/io/InputStream?, relevantFeature=DontMakeExplicitJavaTypeArgumentsFlexible) java/io/InputStream!>?>| = when () {
                R|<local>/f| ->  {
                    Q|Subscribers|.R|/Subscribers.mapping*s|<R|ExplicitTypeArgumentIfMadeFlexibleSyntheticallyTypeAttribute(coneType=java/io/InputStream?, relevantFeature=null) java/io/InputStream!|, R|ExplicitTypeArgumentIfMadeFlexibleSyntheticallyTypeAttribute(coneType=java/io/InputStream?, relevantFeature=null) java/io/InputStream!|>(R|<local>/inputSubscriber|, SAM(::R|java/util/zip/GZIPInputStream.GZIPInputStream|))
                }
                else ->  {
                    R|<local>/inputSubscriber|
                }
            }

            ^foo Q|Subscribers|.R|/Subscribers.mapping*s|<R|java/io/InputStream!|, R|H!|>(R|<local>/subscriber|, <L> = SAM(mapping@fun <anonymous>(it: R|@EnhancedNullability java/io/InputStream!|): R|@EnhancedNullability H!| <inline=NoInline>  {
                ^ this@R|/Handler|.R|/Handler.reader|.R|SubstitutionOverride<kotlin/Function1.invoke: R|H|>|(R|<local>/it|)
            }
            ))
        }

    }
