anchor.diff:    Object addHandler(ProcessSignal signal, SignalHandler handler) {
       final Object token = Object();
       _handlersTable.putIfAbsent(signal, () => <Object, SignalHandler>{});
  -    _handlersTable[signal][token] = handler;
  +    _handlersTable[signal]![token] = handler;
   
       _handlersList.putIfAbsent(signal, () => <SignalHandler>[]);
  -    _handlersList[signal].add(handler);
  +    _handlersList[signal]!.add(handler);
   
       // If we added the first one, then call signal.watch(), listen, and cache
       // the stream controller.
  -    if (_handlersList[signal].length == 1) {
  +    if (_handlersList[signal]!.length == 1) {
         _streamSubscriptions[signal] = signal.watch().listen(
           _handleSignal,
           onError: (Object e) {
  -          _handlersTable[signal].remove(token);
  -          _handlersList[signal].remove(handler);
  +          _handlersTable[signal]?.remove(token);
  +          _handlersList[signal]?.remove(handler);
           },
         );
       }
  
positive.code:     // If _handlersList[signal] is empty, then lookup the cached stream
      // controller and unsubscribe from the stream.
      if (_handlersList.isEmpty) {
        await _streamSubscriptions[signal].cancel();
      }
      return true;
    }
  
    Future<void> _handleSignal(ProcessSignal s) async {
      for (final SignalHandler handler in _handlersList[s]) {
        try {
          await asyncGuard<void>(() async => handler(s));
        } on Exception catch (e) {
  
negative.code: class LocalSignals implements Signals {
    LocalSignals._(this.exitSignals);
  
    static LocalSignals instance = LocalSignals._(
      Signals.defaultExitSignals,
    );
  
  