fn return_option(fail bool) !string {
	if fail {
		return error('nope')
	}
	return 'foo'
}

fn return_string() string {
	return 'foo'
}

fn main() {
	// works
	if r := return_option(false) {
		println(r)
	}
	// works
	if r := return_option(false) {
		println(r)
	} else {
		println(err)
	}
	// works
	return_option(true) or { println(err) }
	// should be an checker error:
	if x := return_string() {
		println('x: ${x}')
	}
}
