anchor.diff:    assert(edges != null, '`edges` cannot be null');
   
     final distances = HashMap<T, List<T>>(equals: equals, hashCode: hashCode);
  -  distances[start] = [];
  +  distances[start] = List(0);
   
     equals ??= _defaultEquals;
     if (equals(start, target)) {
  
positive.code:       final existingPath = distances[edge];
  
        if (existingPath == null ||
            existingPath.length > (distanceToCurrent.length + 1)) {
          final newOption = distanceToCurrent.followedBy(<T>[edge]).toList();
  
          if (equals(edge, target)) {
            assert(bestOption == null || bestOption.length > newOption.length);
  
negative.code: 
    while (toVisit.isNotEmpty) {
      final current = toVisit.removeFirst();
      final currentPath = distances[current];
      final currentPathLength = currentPath.length;
  
      if (bestOption != null && currentPathLength >= bestOption.length) {
        // Skip any existing `toVisit` items that have no chance of being
        // better than bestOption (if it exists)
        continue;
  