FILE: greater.kt
    public final class Expression<T> : R|kotlin/Any| {
        public constructor<T>(x: R|T|): R|Expression<T>| {
            super<R|kotlin/Any|>()
        }

        public final val x: R|T| = R|<local>/x|
            public get(): R|T|

    }
    public final class GreaterOp : R|kotlin/Any| {
        public constructor(expr1: R|Expression<*>|, expr2: R|Expression<*>|): R|GreaterOp| {
            super<R|kotlin/Any|>()
        }

        public final val expr1: R|Expression<*>| = R|<local>/expr1|
            public get(): R|Expression<*>|

        public final val expr2: R|Expression<*>| = R|<local>/expr2|
            public get(): R|Expression<*>|

    }
    public final fun <T : R|kotlin/Comparable<T>|, S : R|T?|> R|Expression<in S>|.greater(other: R|T|): R|GreaterOp| {
        ^greater R|/GreaterOp.GreaterOp|(this@R|/greater|, R|/Expression.Expression|<R|T|>(R|<local>/other|))
    }
    public final fun foo(countExpr: R|Expression<kotlin/Long>|): R|kotlin/Unit| {
        R|<local>/countExpr|.R|/greater|<R|kotlin/Long|, R|kotlin/Long|>(Long(0))
        R|<local>/countExpr|.R|/greater<Inapplicable(INAPPLICABLE): /greater>#|<R|kotlin/String|, R|it(kotlin/Long & kotlin/String)|>(String(0))
        R|<local>/countExpr|.R|/greater|<R|kotlin/String|, R|kotlin/Nothing|>(String(0))
    }
