anchor.diff:        final selected = selector(inheritedElement.value);
         dependOnInheritedElement(
           inheritedElement,
  -        aspect: _SelectorAspect(selector, selected),
  +        aspect: (T value) => !const DeepCollectionEquality().equals(selector(value), selected),
         );
         return selected;
       } finally {
  
positive.code:       return;
      }
  
      if (aspect is _SelectorAspect<T, Object>) {
        final selectorDependency = (dependencies ?? _SelectorDependency<T>(_frameId)) as _SelectorDependency<T>;
        if (selectorDependency.latestFrameId != _frameId) {
          selectorDependency.latestFrameId = _frameId;
  
negative.code:   }
  }
  
  typedef _SelectorAspect<T> = bool Function(T value);
  
  class _SelectorDependency<T> {
    _SelectorDependency(this.latestFrameId);
  
    int latestFrameId;
  
    List<_SelectorAspect<T>> selectors = [];
  }
  
  bool _didWatchFrameId = false;
  