-- main.mcl --
# this must pass type unification and generate output

# single resource
test "name" {}

# single resource, defined by list variable
$names = ["hey", "there"]
test $names {}

# multiples resources, defined by list
test ["hello", "world"] {
	Depend => Test[$names],
}

$morenames = ["wow", "cool", "amazing"]
test $morenames {}

Test[$names] -> Test[$morenames]
-- OUTPUT --
Edge: test[hey] -> test[amazing] # test[hey] -> test[amazing]
Edge: test[hey] -> test[cool] # test[hey] -> test[cool]
Edge: test[hey] -> test[hello] # test[hey] -> test[hello]
Edge: test[hey] -> test[world] # test[hey] -> test[world]
Edge: test[hey] -> test[wow] # test[hey] -> test[wow]
Edge: test[there] -> test[amazing] # test[there] -> test[amazing]
Edge: test[there] -> test[cool] # test[there] -> test[cool]
Edge: test[there] -> test[hello] # test[there] -> test[hello]
Edge: test[there] -> test[world] # test[there] -> test[world]
Edge: test[there] -> test[wow] # test[there] -> test[wow]
Vertex: test[amazing]
Vertex: test[cool]
Vertex: test[hello]
Vertex: test[hey]
Vertex: test[name]
Vertex: test[there]
Vertex: test[world]
Vertex: test[wow]
