FILE: main.kt
    public abstract interface A : R|kotlin/Any| {
    }
    public final val R|A|.foo: R|kotlin/Int|
        public get(): R|kotlin/Int| {
            ^ Int(1)
        }
    public final fun bar(a: R|A|): R|kotlin/Unit| {
        R|<local>/a|.R|/foo|.R|/checkType|<R|kotlin/Int|>(checkType@fun R|CheckTypeInv<kotlin/Int>|.<anonymous>(): R|kotlin/Unit| {
            this@R|special/anonymous|.R|/_|<R|kotlin/Int|>()
        }
        )
    }
    public final fun R|JavaClass|.bar(a: R|A|): R|kotlin/Unit| {
        R|<local>/a|.R|/foo|.R|/checkType|<R|kotlin/Int|>(checkType@fun R|CheckTypeInv<kotlin/Int>|.<anonymous>(): R|kotlin/Unit| {
            this@R|special/anonymous|.R|/_|<R|kotlin/Int|>()
        }
        )
    }
FILE: CHECK_TYPE.kt
    public final fun <T> checkSubtype(t: R|T|): R|T| {
        ^checkSubtype R|<local>/t|
    }
    public final class CheckTypeInv<T> : R|kotlin/Any| {
        public constructor<T>(): R|CheckTypeInv<T>| {
            super<R|kotlin/Any|>()
        }

    }
    public final fun <E> R|CheckTypeInv<E>|._(): R|kotlin/Unit| {
    }
    public final infix fun <T> R|T|.checkType(f: R|CheckTypeInv<T>.() -> kotlin/Unit|): R|kotlin/Unit| {
    }
