interface Maybe class Some(val value: T) : Maybe class None : Maybe fun none() : None = TODO() fun test1() : Maybe = if (true) none() else Some("") fun test2() : Maybe = when { true -> none() else -> Some("") } fun test3() : Maybe = when { true -> none() else -> Some("") } fun test4() : Maybe { when ("") { "a" -> return none() else -> return Some("") } }