anchor.diff:        result.completeError(exception, stack);
       }
     });
  +  exitPort.listen((dynamic exitData) {
  +    if (!result.isCompleted) {
  +      result.completeError(Exception('Isolate exited without result or error.'));
  +    }
  +  });
     resultPort.listen((dynamic resultData) {
  -    assert(resultData == null || resultData is R);
  +    assert(resultData is R);
       if (!result.isCompleted)
         result.complete(resultData as R);
     });
  
positive.code:       flow.id,
      ),
      errorsAreFatal: true,
      onExit: resultPort.sendPort,
      onError: errorPort.sendPort,
    );
    final Completer<R> result = Completer<R>();
  
negative.code: }
  
  Future<void> _spawn<Q, R>(_IsolateConfiguration<Q, FutureOr<R>> configuration) async {
    final R result = await Timeline.timeSync(
      configuration.debugLabel,
      () async {
        final FutureOr<R> applicationResult = await configuration.apply();
        return await applicationResult;
      },
      flow: Flow.step(configuration.flowId),
    );
  