anchor.diff:        final existingPath = distances[edge];
   
         if (existingPath == null ||
  -          existingPath.length > (distanceToCurrent.length + 1)) {
  -        final newOption = distanceToCurrent.followedBy(<T>[edge]).toList();
  +          existingPath.length > (currentPathLength + 1)) {
  +        final newOption = List<T>(currentPathLength + 1)
  +          ..setAll(0, currentPath)
  +          ..[currentPathLength] = edge;
   
           if (equals(edge, target)) {
             assert(bestOption == null || bestOption.length > newOption.length);
  
positive.code:   assert(edges != null, '`edges` cannot be null');
  
    final distances = HashMap<T, List<T>>(equals: equals, hashCode: hashCode);
    distances[start] = [];
  
    equals ??= _defaultEquals;
    if (equals(start, target)) {
  
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;
  