inline fun tryOrElse(f1: () -> T, f2: () -> T): T { try { return f1() } catch (e: Exception) { return f2() } } fun testIt() = "abc" + tryOrElse({ "def" }, { "oops" }) + "ghi" fun box(): String { val test = testIt() if (test != "abcdefghi") return "Failed, test==$test" return "OK" }