<@U2JEMRX36> consider the following: ``` abstract...
# announcements
k
@sxtanna consider the following:
Copy code
abstract class Table<T>()

fun <T: Table<E>, E: Any> invoke(table: T): String {
    TODO()
}

fun <R> invoke(block: String.() -> R): R {
    TODO()
}

class MyTable: Table<Int>(), ((String) -> Int) {
    override fun invoke(p1: String): Int {
        TODO()
    }
}

fun main(args: Array<String>) {
    val table = MyTable()
    invoke(table)
}