-- 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 -> call # fn Edge: call -> call # fn Vertex: FuncValue Vertex: FuncValue Vertex: call Vertex: call Vertex: call Vertex: call Vertex: const Vertex: const