test1: ---
assert(stringValue())
       |          |
       |          false
       true
---
test2: ---
assert(Callable()() == "World")
       |         |  |
       |         |  false
       |         Hello
       Callable
---
test3: ---
assert(Callable()(listOf(1,2,3)) == "World")
       |         ||              |
       |         ||              false
       |         |[1, 2, 3]
       |         Hello
       Callable
---
test4: ---
assert(Callable()(1, listOf(1,2,3)) == "World")
       |         |   |              |
       |         |   |              false
       |         |   [1, 2, 3]
       |         Hello
       Callable
---
test5: ---
assert(listOf(NamedLambda("Hello") { "Hello" }, NamedLambda("World") { "World" })[1]() == "Hello")
       |      |                                 |                                |  |  |
       |      |                                 |                                |  |  false
       |      |                                 |                                |  World
       |      |                                 |                                Lambda: World
       |      |                                 Lambda: World
       |      Lambda: Hello
       [Lambda: Hello, Lambda: World]
---
test6: ---
assert((::foo)(4))
        |     |
        |     false
        fun foo(kotlin.Int): kotlin.Boolean
---
