anchor.diff:      return _values.putIfAbsent(type, () {
         _reentrantChecks ??= <Type>[];
   
  -      final int index = _reentrantChecks.indexOf(type);
  +      final int index = _reentrantChecks!.indexOf(type);
         if (index >= 0) {
           // We're already in the process of trying to generate this type.
           throw ContextDependencyCycleException._(
  -            UnmodifiableListView<Type>(_reentrantChecks.sublist(index)));
  +            UnmodifiableListView<Type>(_reentrantChecks!.sublist(index)));
         }
   
  -      _reentrantChecks.add(type);
  +      _reentrantChecks!.add(type);
         try {
  -        return _boxNull(generators[type]());
  +        return _boxNull(generators[type]!());
         } finally {
  -        _reentrantChecks.removeLast();
  -        if (_reentrantChecks.isEmpty) {
  +        _reentrantChecks!.removeLast();
  +        if (_reentrantChecks!.isEmpty) {
             _reentrantChecks = null;
           }
         }
  
positive.code:   String toString() {
      final StringBuffer buf = StringBuffer();
      String indent = '';
      AppContext ctx = this;
      while (ctx != null) {
        buf.write('AppContext');
        if (ctx.name != null) {
  
negative.code:   /// name. This is useful for debugging purposes and is analogous to naming a
    /// thread in Java.
    Future<V> run<V>({
      required FutureOr<V> Function() body,
      String? name,
      Map<Type, Generator>? overrides,
      Map<Type, Generator>? fallbacks,
      ZoneSpecification? zoneSpecification,
    }) async {
      final AppContext child = AppContext._(
        this,
  