anchor.diff:  /// behavior.
   List<V> shortestPath<K, V>(
           V start, V target, K Function(V) key, Iterable<V> Function(V) edges) =>
  -    _shortestPaths(start, key, edges, target)[key(target)];
  +    _shortestPaths<K, V>(start, key, edges, key(target))[key(target)];
   
   /// Returns a [Map] of the shortest paths from [start] to all of the nodes in
   /// the directed graph defined by [edges].
  
positive.code: /// behavior.
  Map<K, List<V>> shortestPaths<K, V>(
          V start, K Function(V) key, Iterable<V> Function(V) edges) =>
      _shortestPaths(start, key, edges);
  
  Map<K, List<V>> _shortestPaths<K, V>(
      V start, K Function(V) key, Iterable<V> Function(V) edges,
      [V target]) {
    assert(start != null, '`start` cannot be null');
    assert(key != null, '`key` cannot be null`.');
    assert(edges != null, '`edges` cannot be null');
  
negative.code:   final distances = HashMap<K, List<V>>();
    distances[key(start)] = [];
  
    if (key(start) == targetKey) {
      return distances;
    }
  
  