-- main.mcl --
import "fmt"

$funcgen1 = func($a, $d) {
	func($i) {
		fmt.printf("text: %s, count: %d", $a, $d + $i)
	}
}

$funcgen2 = func() {
	func($b) {
		if $b == "" {
			$funcgen1("hello magic number", 42)
		} else {
			$funcgen1("hello " + $b, 13)
		}
	}
}

$some_bool = true
$fn = if $some_bool {
	$funcgen2()
} else {
	func($bb) {
		func($ii) {
			if $bb == "james" {
				"hello purpleidea"
			} else {
				if $bb == "" {
					"who is there?"
				} else {
					"hello " + $bb
				}
			}
		}
	}
}

$fn1 = $fn("user")
$fn2 = $fn("james")
$fn3 = $fn("")

$out1 = $fn1(1)
$out2 = $fn2(22)
$out3 = $fn3(0)

test "${out1}" {}
test "${out2}" {}
test "${out3}" {}
-- OUTPUT --
Vertex: test[text: hello james, count: 35]
Vertex: test[text: hello magic number, count: 42]
Vertex: test[text: hello user, count: 14]
