code: def resolve_dependency(node)
        node.seen = true
        @seen_this_pass << node
  
        node.edges.each do |edge|
          unless @resolved.include? edge
            unless @seen_this_pass.include? edge
              unless edge.seen?
                resolve_dependency edge
              end
            else
              raise CircularDependencyError, "Circular reference detected: #{node.key.to_s} - #{edge.key.to_s}"
            end
          end
        end
        @resolved << node
      end
docs: Recurse through node edges