in(node::Node, graph::DAG) = node in graph.nodes in(edge::Edge, graph::DAG) = edge in graph.edges function ==(n1::Node, n2::Node, g::DAG) if typeof(n1) != typeof(n2) return false end if !(n1 in g) || !(n2 in g) return false end return n1.task == n2.task && children(n1) == children(n2) end