anchor.diff:  //      map/*<Option<JefeProject>>*/((c) => c.getProjectByName(projectName))
   //          .firstWhere((o) => o is Some, orElse: () => const None());
   
  +  Option<JefeProject> getProjectByName(String projectName) => directDependencies
  +      .map/*<Option<JefeProject>>*/((c) => c.getProjectByName(projectName))
  +      .firstWhere((o) => o is Some, orElse: () => const None());
  +
  +  Iterable<JefeProject> get depthFirst {
  +    return getDepthFirst(new Set<JefeProject>());
  +  }
  +
  +  Iterable<JefeProject> getDepthFirst(Set<JefeProject> visited) =>
  +      directDependencies
  +          .expand/*<JefeProject>*/((n) => n.getDepthFirst(visited));
  +
     Future processDepthFirst(
         process(JefeProject project, Iterable<JefeProject> dependencies)) async {
       await Future.forEach(
  
positive.code:     implements JefeProjectGraph {
    JefeProjectSet(Set<JefeProject> base) : super(base);
  
    Option<JefeProject> getProjectByName(String projectName) =>
        map/*<Option<JefeProject>>*/((c) => c.getProjectByName(projectName))
            .firstWhere((o) => o is Some, orElse: () => const None());
  
    Iterable<JefeProject> get depthFirst =>
        expand/*<JefeProject>*/((n) => n.getDepthFirst(new Set<JefeProject>()));
  
    JefeProjectSet get directDependencies => this;
  }
  
  
negative.code: 
    Iterable<JefeProject> get depthFirst;
  
    Iterable<JefeProject> getDepthFirst(Set<JefeProject> visited);
  
    Future processDepthFirst(
        process(JefeProject project, Iterable<JefeProject> dependencies));
  