provider_identifier :: {atom, integer}
spec :: %{type: :one | :many, weft: Weaver.BuilderV2.Weft.t, collector: atom, weaver: atom}
t :: {:digraph.graph, %{optional(provider_identifier) => [spec]}}