* TypeDependencyGraph: separation of build and data, factory method