fn f1() bool {
	println('f1')
	return false
}

fn f2() bool {
	println('f2')
	return true
}

fn f3() !bool {
	println('f3')
	return false
}

fn f4() bool {
	println('f4')
	return true
}

fn test() ! {
	println('test')
	if f1() {
		println('-> 01')
	} else if f2() {
		println('-> 02')
	} else if f2() && f3()! {
		println('-> 03')
	} else if f4() {
		println('-> 04')
	} else {
		println('-> 05')
	}
}

fn main() {
	test() or { panic(err) }
}
