anchor.diff:    final _recv = StreamController<Signal>();
   
     Stream<Signal> get signals => _recv.stream;
  +
  +  Stream<String> get _sendStream => _send.stream;
   
     void cancel() {
       _send.add('cancel');
  
positive.code:   void _send(Map data) {
      _log.fine('SEND', jsonEncode(data));
      _process.stdin.writeln(jsonEncode(data));
      _process.stdin.flush();
    }
  
    void _pump() async {
      await for (final request in _requests.stream) {
        _send(request.toJson());
  
        request.signal?._send.stream.listen((status) {
          _send({'kind': 'signal', 'status': status});
        });
  
  
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,
  