Como chamo métodos de extensão de fora da classe em que são definidos?

Aqui está um exemplo mínimo que demonstra o problema:

abstract class Base {
    abstract fun String.extension(x: Char)
}

class Derived : Base() {
    override fun String.extension(x: Char) {
        // Calling lots of methods on String, hence extension method
        println("${first()} $length ${last()} ${firstOrNull { it == x }} ...")
    }
}

Chamar o método de extensão do Java é trivial:

Base o = new Derived();
o.extension("hello world", 'l');

Mas não consigo descobrir como fazê-lo em puro Kotlin. NemString nemBase parece ter oextension método.

questionAnswers(3)

yourAnswerToTheQuestion