-- main.mcl -- import "fmt" # these two resources are identical to each other, so we should allow it file "/tmp/foo" { content => "hello world", } file "/tmp/foo" { content => fmt.printf("hello world"), } # these two resources are compatible with each other, so we should allow it pkg "cowsay" { state => "installed", } pkg "cowsay" { state => "newest", } -- OUTPUT -- Edge: const: str("hello world") -> printf: func(format str) str # format Vertex: const: str("/tmp/foo") Vertex: const: str("/tmp/foo") Vertex: const: str("cowsay") Vertex: const: str("cowsay") Vertex: const: str("hello world") Vertex: const: str("hello world") Vertex: const: str("installed") Vertex: const: str("newest") Vertex: printf: func(format str) str