FILE: annotated.kt
    @Target(AnnotationTarget#.EXPRESSION#) @Retention(AnnotationRetention#.SOURCE#) public? final? annotation class Ann : R|kotlin/Annotation| {
        public? constructor(): R|Ann| {
            super<R|kotlin/Any|>()
        }

    }
    public? final? fun foo(arg: Int): Int {
        when () {
            ==(@Ann() arg#, IntegerLiteral(0)) ->  {
                @Ann() ^foo IntegerLiteral(1)
            }
        }

        @Ann() when () {
            ==(arg#, IntegerLiteral(1)) ->  {
                ^foo @Ann() IntegerLiteral(1)
            }
        }

        ^foo IntegerLiteral(42)
    }
    public? final? data class Two : R|kotlin/Any| {
        public? constructor(x: Int, y: Int): R|Two| {
            super<R|kotlin/Any|>()
        }

        public final fun copy(): R|Two|

    }
    public? final? fun bar(two: Two): R|kotlin/Unit| {
        lval <destruct>: <implicit> = two#
        @Ann() lval x: <implicit> = R|<local>/<destruct>|.component1#()
        @Ann() lval y: <implicit> = R|<local>/<destruct>|.component2#()
    }
