type Node interface {
// Down returns a list of downstream nodes adjacent to this node.// The list of adjacent nodes cannot have duplicates.
Down() []Node
}
Node represents a node in a directed acyclic graph.
Node implementations must be comparable using go equality.