### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When using the `States.StringSplit` intrinsic function for AWS Step Functions, I get the following error:

```
│ Error: creating Step Functions State Machine (repro): InvalidDefinition: Error=ValueError Args=["Expected 2 arguments for function type '<class 'localstack.services.stepfunctions.asl.component.intrinsic.function.statesfunction.string_operations.string_split.StringSplit'>', but got: '(FunctionArgumentList| {'arg_list': [], 'size': 0}'."] in definition '{
│   "Comment": "States.StringSplit error",
│   "StartAt": "WillStatesStringSplitError",
│   "States": {
│     "WillStatesStringSplitError": {
│       "Type": "Task",
│       "Resource": "arn:aws:states:::lambda:invoke",
│       "End": true,
│       "Parameters": {
│         "FunctionName": "SomeFunction",
│         "Payload": {
│           "inputArray.$": "States.StringSplit($$.Execution.Input.csv, ',')"
│         }
│       }
│     }
│   }
│ }
│ '.
│ 
│   with module.step_function.aws_sfn_state_machine.this[0],
│   on .terraform/modules/step_function/main.tf line 15, in resource "aws_sfn_state_machine" "this":
│   15: resource "aws_sfn_state_machine" "this" {
```

See repro for state machine definition that produces this error. The same repro works in AWS.

### Expected Behavior

I expect the step function to behave as intended and to split the CSV into an array.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

I'm using docker-compose with the following step function definition:

```json
{
  "Comment": "States.StringSplit error",
  "StartAt": "WillStatesStringSplitError",
  "States": {
    "WillStatesStringSplitError": {
      "Type": "Task",
      "Resource": "arn:aws:states:::lambda:invoke",
      "End": true,
      "Parameters": {
        "FunctionName": "SomeFunction",
        "Payload": {
          "inputArray.$": "States.StringSplit($$.Execution.Input.csv, ',')"
        }
      }
    }
  }
}
```

### Environment

```markdown
- OS: MacOS Ventura
- LocalStack: latest
```


### Anything else?

Thank you for all your hard work!
super().__init__(
            states_name=StatesFunctionName(function_type=StatesFunctionNameType.StringSplit),
            arg_list=arg_list,
        )
        if arg_list.size != 2:
            raise ValueError(
                f"Expected 2 arguments for function type '{type(self)}', but got: '{arg_list}'."
            )
    def _eval_body(self, env: Environment) -> None:
        self.arg_list.eval(env=env)
        del_chars = env.stack.pop()
        if not isinstance(del_chars, str):
            raise ValueError(
                f"Expected string value as delimiting characters, but got '{del_chars}'."
            )
        string = env.stack.pop()
        if not isinstance(del_chars, str):
            raise ValueError(f"Expected string value, but got '{del_chars}'.")
        patterns = []
        for c in del_chars:
            patterns.append(f"\\{c}")
        pattern = "|".join(patterns)
        parts = re.split(pattern, string)
        env.stack.append(parts)