fn foo() !bool { return true } fn bar() ! { } fn main() { a := foo() or { foo() or {} } // must be error y := if c := foo() { dump(c) bar() or {} } else { false } // ok z := if d := foo() { dump(d) bar() or {} true } else { false } // ok w := foo() or { bar() or {} false } // ok b := foo() or { foo() or {} false } }