This actually made it clear to me that it is creating the wrong edge in some cases. I put together a test that shows the problem:

````
it "ensures that the edge is with the correct class" do
  catalog = compile_to_catalog(<<-MANIFEST)
    class outer {
      class named { }
      contain named
    }

    class named { }

    include named
    include outer
  MANIFEST

  expect(catalog).to have_resource("Class[Named]")
  expect(catalog).to have_resource("Class[Outer]")
  expect(catalog).to have_resource("Class[Outer::Named]")
  expect(catalog).to contain_class("outer::named").in("outer")
end
````