test1: ---
assert(foo@(test?.a ?: true))
            |     |
            |     false
            A
---
test2: ---
assert(foo@(if (a < b) a == b else if (b < a) b == a else false))
                | | |  | |  |
                | | |  | |  2
                | | |  | false
                | | |  1
                | | 2
                | true
                1
---
test3: ---
assert(foo@(try { false } catch (e: Exception) { true }))
            |
            false
---
test4: ---
assert(
    foo@(
        when {
            x == b -> true
            | |  |
            | |  2
            | false
            1

            x == a -> false
            | |  |
            | |  1
            | true
            1

            else -> true
        }
   )
)
---
