FILE: smartSet.kt
    public final class SmartSet<T> : R|java/util/AbstractSet<T>| {
        public constructor<T>(): R|SmartSet<T>| {
            super<R|java/util/AbstractSet<T>|>()
        }

        public open override var size: R|kotlin/Int| = Int(0)
            public get(): R|kotlin/Int|
            public set(value: R|kotlin/Int|): R|kotlin/Unit|

        public open override operator fun iterator(): R|kotlin/collections/MutableIterator<T>| {
            ^iterator R|kotlin/TODO|()
        }

        public open override fun add(element: R|T|): R|kotlin/Boolean| {
            ^add Boolean(true)
        }

        public open override fun clear(): R|kotlin/Unit| {
        }

        public open override operator fun contains(element: R|T|): R|kotlin/Boolean| {
            ^contains Boolean(false)
        }

    }
    public final fun foo(x: R|kotlin/Any|): R|kotlin/Unit| {
        lval s: R|SmartSet<kotlin/Any>| = R|/SmartSet.SmartSet|<R|kotlin/Any|>()
        R|<local>/s|.R|SubstitutionOverride</SmartSet.add: R|kotlin/Boolean|>|(R|<local>/x|)
    }
