public async Task Handle <TValue>(EffStateMachine <TValue> stateMachine) { List <TValue>?values = null; Exception? error = null; try { values = await NonDetEffectHandler.Run(stateMachine); } catch (Exception e) { error = e; } if (values != null) { foreach (var result in values) { stateMachine.SetResult(result); await ContinueStateMachine(clone : true); } } else { stateMachine.SetException(error !); await ContinueStateMachine(); } }