fun run(arg1: A, arg2: String, funRef:A.(String) -> String): String {
    return arg1.funRef(arg2)
}

class A

fun A.foo(result: String) = result

fun box(): String {
    val x = A::foo
    var r = x(A(), "OK")
    if (r != "OK") return r

    r = run(A(), "OK", A::foo)
    return "OK"
}
