anchor.diff:        if (handler != null) {
           _log.info('Attempting recovery on "${e.status}"');
           await handler(e);
  -        return command(action, target: target, params: params, signal: signal);
  +        return await command(
  +          action,
  +          target: target,
  +          params: params,
  +          signal: signal,
  +        );
         }
         rethrow;
  +    } finally {
  +      if (wrapped) {
  +        (signal as _MultiSignaler)._reallyClose();
  +      }
       }
     }
   }
  
positive.code:   final _recv = StreamController<Signal>();
  
    Stream<Signal> get signals => _recv.stream;
  
    void cancel() {
      _send.add('cancel');
  
negative.code:     Map<dynamic, dynamic>? params,
      Signaler? signal,
    }) async {
      bool wrapped = false;
      try {
        if (signal != null && signal is! _MultiSignaler) {
          signal = _MultiSignaler(signal);
          wrapped = true;
        }
        return await _rpc.command(
          action,
          devicePath.segments + subPath + target,
  