# this can return changing functions, and could be optimized, too
$funcgen = func($a) {
	if $a {
		func($b) {
			if $b == "hello" {
				func() {
					"true-true"
				}
			} else {
				func() {
					"true-false"
				}
			}
		}
	} else {
		func($b) {
			if $b == "hello" {
				func() {
					"false-true"
				}
			} else {
				func() {
					"false-false"
				}
			}
		}
	}
}

$fn1 = $funcgen(true)
$fn2 = $funcgen(false)

$out1 = $fn1("hello")
$out2 = $fn1("world")
$out3 = $fn2("hello")
$out4 = $fn2("world")

test $out1() {}
test $out2() {}
test $out3() {}
test $out4() {}
