pub trait GraphQuery<'g> {
type Id: Copy + Eq + Hash + Debug;
type Set: GraphSet<'g, Id = Self::Id>;
// Required methods
fn direction(&self) -> DependencyDirection;
fn starts_from(&self, id: Self::Id) -> bool;
fn resolve(self) -> Self::Set;
}