anchor.diff:        return;
       }
   
  -    if (aspect is _SelectorAspect<T, Object>) {
  +    if (aspect is _SelectorAspect<T>) {
         final selectorDependency = (dependencies ?? _SelectorDependency<T>(_frameId)) as _SelectorDependency<T>;
         if (selectorDependency.latestFrameId != _frameId) {
           selectorDependency.latestFrameId = _frameId;
  
positive.code:     var shouldNotify = false;
      if (dependencies != null) {
        if (dependencies is _SelectorDependency<T>) {
          for (final dependency in dependencies.selectors) {
            Object selected;
            try {
              assert(() {
                _debugIsSelecting = true;
                return true;
              }());
              selected = dependency.selector(value);
            } finally {
              assert(() {
                _debugIsSelecting = false;
                return true;
              }());
            }
            if (!const DeepCollectionEquality().equals(selected, dependency.selected)) {
              shouldNotify = true;
              break;
            }
          }
  
negative.code:       final selected = selector(inheritedElement.value);
        dependOnInheritedElement(
          inheritedElement,
          aspect: (T value) => !const DeepCollectionEquality().equals(selector(value), selected),
        );
        return selected;
      } finally {
  