interface A { fun visit(a:String, b:String="") : String = b + a } class B : A { override fun visit(a:String, b:String) : String = b + a } fun box(): String { val result = B().visit("K", "O") if (result != "OK") return "fail $result" return B().visit("OK") }