anchor.diff:        'byElementKind': byElementKind,
         'byTokenType': byTokenType,
         'byTypeMatch': byTypeMatch,
  +      'distanceByDepthMap': _encodeIntIntMap(distanceByDepthMap),
       });
     }
   
     /// Add the data in the [source] map to the [target] map.
  -  void _addToMap(Map<String, Map<String, int>> target,
  -      Map<String, Map<String, int>> source) {
  +  void _addToMap<K>(Map<K, Map<K, int>> target, Map<K, Map<K, int>> source) {
       for (var outerEntry in source.entries) {
         var innerTarget = target.putIfAbsent(outerEntry.key, () => {});
         for (var innerEntry in outerEntry.value.entries) {
  
positive.code:     _decodeMap(byElementKind, contentObject['byElementKind']);
      _decodeMap(byTokenType, contentObject['byTokenType']);
      _decodeMap(byTypeMatch, contentObject['byTypeMatch']);
    }
  }
  
  
negative.code:     var contextMap = byDistance.putIfAbsent(descriptor, () => {});
      var key = distance.toString();
      contextMap[key] = (contextMap[key] ?? 0) + 1;
    }
  
    /// Given a member accessed on a target, record the distance between the
    /// target class and the member class by the depth of the target class.
    void recordDistanceByDepth(int targetDepth, int memberDistance) {
      var innerMap = distanceByDepthMap.putIfAbsent(memberDistance, () => {});
      innerMap[targetDepth] = (innerMap[targetDepth] ?? 0) + 1;
    }
  
    /// Record that an element of the given [kind] was found in the given
  