About SideEffect call in checkr/states-language-cadence for workflow registration

Hi,
We are trying to utilize the ASL interpreter for our temporal workflow, is this SideEffect call necessary at all? Want to understand the point to create a local statemachine instance for executing the Execute function. Since there are no non-deterministic variables, replaying workflow will produce the same results even without creating the local instance.

thanks!

There is no need for the SideEffect here as the initStateMachine is already deterministically provided to the workflow through its arguments.

When workflow is started all its arguments are serialized and stored in the workflow execution history. Then when the workflow function is invoked they are deserialized.