-- main.mcl --
# this can return changing functions, and could be optimized, too
func funcgen($b) {
	if $b {
		func() {
			"hello"
		}
	} else {
		func() {
			"world"
		}
	}
}

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

$out1 = $fn1()
$out2 = $fn2()

test "${out1}" {}
test "${out2}" {}
-- OUTPUT --
Edge: FuncValue -> call # fn
Edge: FuncValue -> call # fn
Edge: call -> callSubgraphOutput # dummy
Edge: call -> callSubgraphOutput # dummy
Edge: call -> callSubgraphOutput # dummy
Edge: call -> callSubgraphOutput # dummy
Edge: callSubgraphOutput -> call # fn
Edge: callSubgraphOutput -> call # fn
Vertex: FuncValue
Vertex: FuncValue
Vertex: call
Vertex: call
Vertex: call
Vertex: call
Vertex: callSubgraphOutput
Vertex: callSubgraphOutput
Vertex: callSubgraphOutput
Vertex: callSubgraphOutput
Vertex: const: bool(false)
Vertex: const: bool(true)
