anchor.diff:  }
   
   typedef _SelectorAspect<T> = bool Function(T value);
  -
  -class _SelectorDependency<T> {
  -  List<_SelectorAspect<T>> selectors = [];
  -}
   
   bool _debugCanSelect = true;
   
  
positive.code:           _shouldClearSelectors = true;
          });
        }
        selectorDependency.selectors.add(aspect);
        setDependencies(dependent, selectorDependency);
      } else {
        // subscribes to everything
  
negative.code:   void updateDependencies(Element dependent, Object aspect) {
      final dependencies = getDependencies(dependent);
      // once subscribed to everything once, it always stays subscribed to everything
      if (dependencies != null && dependencies is! List<_SelectorAspect<T>>) {
        return;
      }
  
      if (aspect is _SelectorAspect<T>) {
        final selectorDependency = (dependencies ?? <_SelectorAspect<T>>[]) as List<_SelectorAspect<T>>;
        if (_shouldClearSelectors) {
          _shouldClearSelectors = false;
          selectorDependency.clear();
        }
        if (_shouldClearMutationScheduled == false) {
          _shouldClearMutationScheduled = true;
  