-- main.mcl --
class c0($b) {
	test "t1" {}
	if $b {
		test "t2" {}
	} else {
		test "t3" {}
	}
	$f0 = func() {
		if $b {
			"hello"
		} else {
			"goodbye"
		}
	}
	#$f0 = "hey"
}
class c1($b) {
	test "t4" {}
	if $b {
		test "t5" {}
	} else {
		test "t6" {}
	}
	include c0($b) as i0
	$x = $i0.f0
}
include c1(true) as i1
include c1(false) as i2

$name1 = $i1.x()
$name2 = $i1.i0.f0()
$name3 = $i2.x()
$name4 = $i1.i0.f0()	# I think these should work directly too. Do we want them to?
$name5 = $i2.i0.f0()

test "${name1}" {}
test "${name2}" {}
test "${name3}" {}
test "${name4}" {}
test "${name5}" {}
-- OUTPUT --
Vertex: test[goodbye]
Vertex: test[hello]
Vertex: test[t1]
Vertex: test[t2]
Vertex: test[t3]
Vertex: test[t4]
Vertex: test[t5]
Vertex: test[t6]
