 So, yeah, but I think that let's start. Let me share my screen. Okay, hold on. Let me share this. Hold on. It's not this one. It's this one. Okay. So, can you see my screen? Okay, good. I think, you know, I see that, you know, I see some changes is, you know, I think Louis, I, yeah, I think you added this work on the hero added this workflow on use case. I think I think, you know, was that the hero you added the filter thing, right? Yeah. And then I think Louis also update this filter diagram to add to incorporate the heroes comments. And let me see what are the changes. I think that's pretty much the changes from from last aspect. So any, any comments. Let's go through the comments again to see. We wrong. We wrong. Are you there? Yeah, I'm there. Yeah, I already close your comments. Yeah. Okay. Sure. So Alex is Alex online. No, I'm not sure what he means by no next date. What does that mean before performing so we can discuss that because I would like to address this comments to say, well, so here's it these days within a function workflow will wait on the arrival of an event or event from one or more event sources before performing their associated function and progressing to the next state. I don't know why he added a no next date. I think that doesn't, I'm going to remove that. Is this okay with everyone and remove this no. We should just check within what he meant rather than losing context, I think. Okay, but I don't know when he is going to run this conference, maybe, yeah, maybe in the cloud events, because I, I don't know, it's just, it's going to just progress to the next date. What does mean progress to the no next date. I don't know what's happening. It makes sense. But okay, we can leave that. Tim, I think it's fine. You can close that because he just say it's a placeholder hole for all this. I think we can resolve this and objection to resolve this. Okay. That's fine. Yeah. So let's go through the next few hero. So parallel state. Okay, to resolve this or you still have. Oh, yeah. So this one. Yeah. Okay, I see your comments. You tried. I know. So you already added, right? Which one are you talking about? I'm showing the screen. Can you see the screen the end all? Yes. Are you talking about the condition? You said, you know, you hear you say you will add the note and and all field. Yes, I argue the three logical operating time into the condition. Okay, I see comparison. Comparison operator. So not this one. And this one. So you're doing this syntax. Okay. Not and all. Interesting. Not and all. Not and all. Yes. Is this like, is there any like, we will say not and or is there any parentheses or it just in sequence. So, you know, you know my point. Oh, no. What, what, what's your point? So my point is, so he said, okay, so traces this one, right? Not the next, not this one. What does this mean? Not this one. Oh, okay. So I know what you mean. So if not, if not this operator, right? So when this note is that I'm thinking about maybe add this inside the comparison operator, not the whole thing. What do other people think? I will say not not the whole thing. What does that mean? This is just a reverse. The if operator is true, then not that operator makes it the fourth. I'm thinking, you know, so I think you know your original point is like this, right? And the path of this traces and so you are saying, okay, you think we need and or not operator to for the for the for the operator, right? For the comparison operator and all not for the path and value, right? Not actually because not is useful in order to make more nested nested logical operator. For instance, not operator A and B or more complicated the not operator as possible is possible. Okay, so so I'm just thinking how this combined this not combined with the compare comparison operator or the end you have an end here. And this and not. Okay, so this one and not this much than not much than not this much than that. Okay. For instance, could you display the description of the operator just just a little bit. Yeah, yes, operate. Okay. For instance, if operator is EQ. And not EQ. No, no. Just the EQ. Okay. Not operator is not EQ is equal to an EQ. So I made a comment here. And EQ with me again. Because if we introduce not operator. Yeah, that's my, I'm okay. So not be read down to do to not not equal to do to not so equal string equal string less than string less than you greater than equal. So you are so here you're all. So this all adjust the following to all right is that what you mean by all of these two. Yes, all is all has a lay. So in this example, there are two operator. Too much close. I see. Right. So those two are work. Okay, I got that. I got it. Yeah. So now to just one and they are multiple. And then all them, of course, they are multiple. So format description. I wrote a description. Okay, got it. Yeah, yeah. Not, not really must be single much. Yeah, okay. And or and or or field must have no empty array. So I'm thinking about you have and you have all right, but the not either we have not or we haven't say and you kill right. So these two we just need one right. I mean these two we just need to want right. Maybe. So, so then we can either have, you know, say not at the beginning, or we can just say in the operator there's an and you kill. That should be the same thing right. Because not the operator can nest it. Can be nested. For instance, within the land, we can have and or or. Oh, okay. I know what you mean. So you're thinking, you know, you will allow the embedded and not and or right something like that, right. Okay. Yeah. Okay. Yeah, just a moment. Let me see. Is this better. Yeah, nice better. Okay. Okay. I think the observation is that with not nesting, you may be able to express something more naturally is not x and y, rather than needing to do the de Morgan's rule and say, you know, the inverse of x, or the inverse of y. So I think that that if you have and and or not ends up being pretty useful to be able to express conditions. Yeah, I agree. Yes, that's right. So I think we can just remove this not equal then. Right. Yeah. Okay, let's just do that. So how about the, how about this string equal string less string. Okay, oh, you just so you just this string. Okay, you want to specific. So great equal. So you specific spells of the string. So do you mean that if there's no strings that equal is just integer or something like that. Yeah. Okay. Okay, string. Okay. Oh, do we want this or we just say equal. We don't care whether it's integer or string, you know, when say equal it just Okay, I think probably it's okay. We have this string. I think it's better. So let's okay. I think that I think we don't type of information. Are we expecting the string ones would be case insensitive or case sensitive. I think it would be. That's a good question. So if there's different cases doesn't mean different things. Yeah, I think that's we need to make a Decision we can we I think we can make a decision here, you know, how we what do you think is Eva. Oh, it seems like equal would be natural for like bitwise comparison, which would work fine for two strings that were case sensitive. And then I would expect the string versions to do something richer, which you might define as case insensitive. I think it would be enough of a expert on language encodings to know what other things we should say there. It may also mean canonicalized in some form. So what do other people think would it be possible to having these string comparisons to determine the type of the actual type of the value itself from from the JSON. I mean, typically strings are always inside double quotes and integers are not and the Booleans are the true or false. So we have a good idea of what the type of the value is. Would it be is it really necessary to have special comparison operators for the different types. Maybe we could determine whether the, you know, the type actual type of the value whether it's Boolean string integer from the just examining the syntax of the value field. I think, I think we have a two way one is to type the type value type field or introduce the operator for each type. So Nahiro, what's your point? You say you like define the type or just a generic grade equal then and then depends on the syntax format of the. I am saying that we have, it seems to me we have two ways to distinguish the time. The one way is just the Louis said that introducing a type field. Another way is to create the operator for each type. Such a string equal. Yeah, but I'm just thinking, you know, whether this is too complicated to create, you know, create this operator for each type. I'm just thinking if, you know, we can, we can know the type by examining if the, I mean, if the system can know the type by examining the, examining the, the syntax of the format of the, of the value, then we do not need this, you know, to define the different types. But is it true that, you know, we can do that. Because if we compare, if we compare string five and number five and, and, and state machine cannot judge which is, which is the user intent. You say the state machine cannot judge whether it is a string or this is a string. Yeah. Because for instance, if I, if I specify the double quarter five, so that is a string five, right. And action return the number five and then the type mismatch happened and state machine cannot judge whether or not the action return value is wrong or the specified string number, the string number I specified is wrong. Do you understand? Do you understand what I say? I mean, isn't that something of a programming error? I mean, the intent of the, the, the writer, the developer is that, you know, he's going to be comparing against a string. Okay. If he says, you know, specifies the value to be five in double quotes. If the function returns the string, well, and good, if it returns an integer five, then that that's, that's an invalid value, right. So the intent is that the, there is what comes back or what is the input to this state is that it should be a string. He's doing a comparison on a, on a string with a value of five. Now the type of the, what is he is expecting is a type of string. If, if function, if function returns the, if function returns the integer, and it is the, if we, if we know that the function returns the integer, that is correct. Then the specifying string five, if I specify a string five, I, I am wrong. That's correct. Yeah, but, but the state machine cannot check which is correct. Me or function. Right. So, function might have a path. All the state machine, you know, all the, the workflow specification is based on the, the value specified in the, in that value field. Okay. So that is the, the clue to what's going on. I mean, yeah. Okay. Imagine, so then imagine that we have, we're actually using the string fields. Okay. The stream string comparison operators. What happens in the case where, again, we face the same problem if you, if you specify a string operator and the value returned is actually an integer. What would you do in that case? I think my opinion is that state machine have to produce error type match error. Okay. So your, your argument is from the point of view of validation at runtime to make sure that the, the value, the type of the value is what is expected and we can validate that. Okay. I think, yeah. So, you know, I would, again, this, these special operators, you know, the type specific operators a little bit clunky to me, you know, if, if you, to my mind, maybe have a separate type field. It's, again, it's up to what people think, but Yeah, actually, I also feel the same way. I think, you know, if we have type specific operator, that's a bit too doesn't look like that good. Yeah, in order to, I mean, to put the runtime on checking. Yeah, I think probably we can define a type instead of, you know, we have, you know, the operator or, I mean, we have, you know, multiple sets of operators for different types. Yeah, I think that way is okay. Yeah, because that's probably more, I feel that's more simpler and lighter. This is like, you know, to have a different types operator. So maybe, yeah, we should like to go for that direction here. So we remove this, you know, type specific operator, but we can add a type field to the value. We can have a default type if it's not specified. How about, how about other, how other people think about this? I guess from my point of view, it seems a little bit tricky to do the type matching at runtime without a good sense of what values will be there ahead of time it seems like I wonder why doing type matching at runtime rather than best effort gives us an advantage. So your point is that we, we do not need to actually support this runtime checking of the types is that your point. Well, if, if we do the, if we do the typing dynamically at runtime. So the possibility to say we can't compare X with Y, because it just doesn't make sense. But you can imagine having a value and a path item that's pulled out that both have compatible types and then you've chosen an operator that just doesn't happen to work with them. And that seems like it's an unforced error. So I would probably steer away from putting that in. It's my personal take. Yeah. Yeah. Go ahead. The values that are actually returned from the, say the, a function that's been invoked is probably going to be in JSON. So the, the state machine has to interpret that JSON and to figure out what the, the type is off that JSON value, you know, in order to compare it with the value that specified in this, in this field here. Again, it's the same, same issues. It has to interpret the encoding of the, the JSON value. Any other input on this? Yeah, I also think, you know, it's a little bit, I'm just wondering whether we need to address this, this level, you know, to make it to make a model complicated. I think the runtime, you know, I agree with, I forgot, I don't know who, I cannot recognize the voice. I think, you know, for the runtime check, I think it's, yeah, it's the best effort. I think that's, or if there's a way to do it, I think, you know, the, the, when the, when the user, when the developer write this workflow, right. He should know, you know, what the function, the return value of the function, and also the, you know, all this checking, he should know the type. And that function, you know, if that function returns another type, then it is supposed to return, then the type is supposed to return. I think that's the function's problem. Do we really need to address at this, this, you know, the top level configuration model. So now here, what's your, what's your take? Can we remove this and then later when we see there's really a need, we can add that in. I think the, at this moment, I would like to keep this issue further discussion later. Because if we, if we seriously think about implementation, I think underneath the language have to choose the operator of string comparison or number comparison. So, so in order to tell a new language, I think my, my opinion is type information have to be written in the, in the workflow language. So if we implement state machine in Java, I think Java is a type specific language and we need to choose the number comparison or string comparison. Those are two different, different methods. I think the type of information will be necessary when we try to implement it. Okay, I guess probably then we, I think you know we can maybe keep this as an open item for, for more people to get comments. I mean the, the serverless work group to get comment. So we, okay, I think we can, I'm okay, we just keep it here, unless there's a strong objection. But later if people think this is not needed, we remove it. How's that. Yeah. Okay. Yeah, so I see that. So, so the choices I think this come on. Let me see go to a new more comments here. Okay, so this is the comments. Now here you have right, you add this. Okay, so you can close this right this one, this comment. Yeah, you will close this. So let's see the, okay, I think even just added some comment at the crisis order set of conditions. Yeah, that's my first question too. This is a older set of condition right you just invited in sequence. Is that right. I hear a hero. Hello, my hero. Are you there. Can you hear me. Could anyone hear me. Yeah, I hear you. I need to do a question. I just see the, you know, the comment from Eva. Maybe. I'm not sure I pronounced your name correctly. Could you clarify your question. You want just the left. Oh, even just left. Okay, dropped off. Oh, okay. So I think you want question. My understanding is, is this evaluated in order or not. Just like, you know, for example, you have it here, right. You have not. So first evaluate not, and then you evaluate and and then evaluate or Let's, let's see his comment. Comment. Is Is the question the order of evaluation. Other set of conditions to evaluate or any matching conditions executed. What does that mean matching conditions executed. I think you talk about maybe it's sort of incremental evaluation. I think what we're trying to get here is that the whole expression is evaluated. And then, you know, there's a decision made on that. But the thing is that, yeah, I think this race. Okay, that's a, this is a good question. So if like and it's satisfied. And then also all is satisfied. Then what's the next state. Oh, if Andy certified you have a next date. If this next day is different from the, this or next date, then what is the next date. Yeah, I think my understanding is the first element is the first priority. So it's ordered. It's an ordered evaluation. Is that right. So as long as one match, you just execute it. Is that right. Yeah, so yeah, could you add that to the to say it's an ordered setup. It's an ordered evaluation. And then the first one match stop here. Could you add that. Okay, good. Um, yeah, if someone could someone help writing the meeting minutes. So this is the one and then these are case sensitive insensitive. So what's our decision with a case I think you know we can just make a decision case insensitive or sensitive. I'm sure people have other comments. We can change it. I think it should be case sensitive case sensitive. So different case law case means different things. Yeah. Okay. So now here, yeah, if you could add that to that would be good. Okay, so now let's come to the to the filter thing. Okay. Um, so I think we need to match these two. So here we said, okay, there's an event source, we have a filter from previous state we have filter when you only go to the before going to function will have filter when coming back we have another filter. And then we're going to the, do we need these two filters between the two functions, or we can combine these two filter into one. Because anyway, this filter is just filter the output from function one to the input. And then you know the result is input function two. I mean, that could, I mean, it seems that seems obvious way of doing things, as long as we can fit it into the syntax of the what we're proposing. So, you know, if we have, you know, or you could maybe call a request filter that goes to the function and then a response filter that comes back. You're naturally attaching the filter to the request to the response. Now, if you're considering having combining the, you know, the filters from one function to to the next function, you have to consider how to do that in terms of the syntax. Yeah, I see. We just have to look at that and see if is there a convenient way of doing that. So, and I think maybe we can look down to what Nehera has in his things. So, so again, and here I don't want to speak to your stuff but you have essentially, you know, I like the way you've laid it out you've got the I think you say you've got the state filter the, I think it's an event filter and an action filter. And then within that you've actually broken it down into, I think an input filter, a result filter or rather an input path, a result path and an output path. Again, if we're if we're looking at the action filter there. For each action you actually or each function that's involved you actually have an input filter which is essentially what I've described as a request filter that goes out to the other function at when it's involved. A result path which is equivalent what I had before was a response filter. And then you in addition have an output path, which I actually didn't have. I actually added a question there on that. And I think you've responded to that. So, maybe you could talk to that a little bit. Yeah, I'm not here. Are you there. Yeah, so I think Louis question is, do we really need this output filter path. You have an input pass. In order to the information before passing to the action right. And then when it comes back, you have already have a like kind of like output filter, like the filter result pass right filter that this is very Yeah, this is very important. So please look at the bottom of this document. The last last picture last figure. The bottom bottom. Bottom. Yes, bottom. Yes. Okay. So I understand what you're saying. So really it's that result path is used to actually combine the input value or the input Json with what is returned from the from the function is that is that am I reading that correctly. Yeah, maybe I think the result path is used to transform the key. So here is the example. And the update argument states. This is a No, no, no state. There is a identical function. Identical function means that why you call X. So, so, in this case, the input path. The The ultimate of a hollow world is a payload hollow. If then specify input path that I don't payload. Me the value of the payload. So, the hollow if then this value. This input path to the function. In this case, identical function. So that means that memory is also hollow. Then hollow if is stored into the result path. That is if the value one. Then out to pass. That means that the value of update of state is value one column hollow if. So in this process. The ultimate of hollow world that is the key is payload. And ultimate of update arc. Key is value one. So that means key is transformed. So in order to make. In order to transform key. We need a result path. Yeah, I understand what you're saying there. So. Yeah, it might make sense that we need to do that. I think that. So essentially what you're saying is that we're combining the. What can come in on the input into a. Into the state with. The value that's returned from the function is that right? Am I reading that correctly? I didn't quite. Sorry, I didn't quite understand. You know what you said. I didn't quite get that, you know. So I. I'm just thinking. So the input. My understanding is. Maybe my understanding the input path is, you know, the filter, right? Is to filter whatever. Comes from that state. Whatever in that state you filter it. And then the payload in that state in that state you filter it and then pass to the function, right? And then when the function result comes, right? You're going to filter the result. And then saved. So that's the function result, right? And then when you need. Why you when you need to pass to the next state, you have another filter. For the next state, you can combine whatever. You can do that, right? Why you need to result pass and output pass. Yeah, let me, let me explain. Could you go up? Yeah. Okay. Maybe you speak a little bit. Have a hard time understanding. You know what you said. Yeah. Little bit. Pardon. Move. Okay. No. I think the other direction. Yeah. Little bit further down. I think. Down. Down. Yeah. Yeah. Little bit up. I would like to explain the example. The section example. Could you move a little bit up? The other direction. The other direction. Yeah. Okay. Right. Yeah. The important is a premise. So we need to compose two functions. So one is how long the other is the same result. And the important thing is the output structure of how long is different from input structure of same result. Because the key is different. The output value of how long is the key is payload. So but the input value of the same result, the key is value. So as is, we cannot compose two functions. Right? So you have function. Hello. Function save result input. Save result expecting to get the value in value one key. Right. Okay. I understand what you're saying. So basically the input to the second function save result has to have value. I don't know. Value one is the key. Is that right? Okay. So what we're trying to do is convert the output from the hello function, function one, from having a key of payload into a key of value one. Is that what you're trying to do? Exactly. Okay. So and in order to do that, you have to have both the output filter and the output path and the result path filters. Okay. Okay. Yeah. I think, you know, before we finalize on this, we should look at some, make sure we've got a good understanding of the use cases that we may encounter here. So there may be cases where like you've got say here is we want to transform a key value in a key in the JSON to a different key. There may be also cases where you may want to combine, you know, not just take the input, the output from a previous function, but also maybe combine it with the input to the state itself. So I think it might be worth considering some different cases here. Although I think this is very good. It's definitely a step in the right direction. Yeah. Yeah. But the combine that with the state, the input, the state filter result path, that should have it, right? Right. So what I'm seeing there, I mean, that the state filter result path. Now, the question is, does that combine the output from the output path of the last action with the input path to the state itself? Okay. So I think we may maybe need to make that a little bit clearer and maybe show a couple of examples on how that's actually done. So it's clear to what to what we're doing here. Okay. Sounds good. Yeah. I think my understanding this state filter result path should do that combination. Yeah. I haven't looked at this as closely as I should have, but it may well be the case. Here you could probably comment on that. Yeah. Okay. Good. I think that's good. I'm thinking, you know, we're diving into very detailed discussion on the filter. And so I think we're going to have another on the next meeting. We're going to discuss. Yeah. How we should do with all this, all the work we have put. It's a very good effort. I think it's a very good work. I think that's about it. Any other comments? Looks like we only have these two. These, I mean, even comments, I think is resolved. If we can have a Lewis comment. Yeah, we can probably take a look at this again and then see, right? That's about it. So for the arrows, how we are going to have the third arrow codes of the state machine execution. Okay. We can probably, who would like to take the extra item to write up some, something about the arrows. Well, I have suggested a couple of different error codes that could be used here. So in that, in my comments over there. So it could be, you know, what I suggest is a timeout error, a failed failure error, or a match any. So essentially the, you know, anything that's doing comparison could use those values. Do we need to define this at this, at this specification level? Like the arrows? Or are these really out of the scope? When the user defined these models? What do you think here? I think this was your original comment on the adding a predefined error codes. Yeah. Well, the reason I added the error code session is exactly the, I think remember the, the, the retry tag, retry field. Right. In order to describe the retry, I think we need an error code. Yeah. Right. But have we, we have defined retry. Have we added that or not? I forgot. Yeah. Retry is there. Is there? Okay. So we put that error code maybe in the retry section, right? Together with the retry. So we just said, where's the retry thing? So maybe like a hero, would you like to put that into, expand that retry? Yes. But I think the deciding the error code is not urgent, I think. I think we, we, the, the, the, the, I think the priority, the second priority, I think the first priority is more. We have a lot of things. Okay. I think then let's just remove this section. You know, I don't want this back to dive into very, very detail. Before we have, you know, we give, we get other people's comments. I think, you know, later, if people are interested in retry and then say, we'd like to expand that to have more detailed information, we can specify that. Specify that. How is that? I, I, I'm, I'm not comfortable to remove because I just want to keep the section but the content is empty or is okay. But I think we, the keeping the, keeping the section, remind us to work on error code later. Yeah. I think, you know, so, um, but I would like, you know, if we keep, I would like to make it complete. I think, you know, we can add that section later. This is not like a final document. You know, anyone can add, you know, more things to that. But, you know, I would not like to keep it, you know, just a section without anything, right? So either we write that or we could just remove that later. You say, we want to dive into more details. We can edit. Okay. So in that case, I can. Okay. Good. Yeah. So I did. Yeah. Let me describe. I'm sorry. I'm sorry. Before closing this meeting, I'd like to mention one thing in the parallel. Parallel. Yeah. So I made a comment in order to clarify the comment I last time made. Okay. So let me go to that parallel state. Where's that? Okay. Where's that parallel state? Oh, yeah. I'm sorry. Before closing this meeting, I'd like to mention one thing in the parallel. The use case. Parallel. Yeah. So I made a comment in order to clarify the comment I last time. Yeah. Right. In the use case section. Oh, in the use case. Okay. You want me to score up to the use case section? Yes. I think. No, no use case. Just below this figure. I made a comment. I'm sorry. Just above the. Yeah. You have a comment. Yeah. Stop. Stop. Please stop. Okay. Go to the below. Little bit. One. One. One. One. One. Two. Six. I think. Two. Four. Two. Five. Next one. Two. Six. Yeah. Yeah. Yeah. Yeah. Yeah. Please look at the. Paralysis inside. The artificial thinking needed on the. Paralysis take comment proposed by now hero. So this is derived from the. The last time. Then. Could you. Did you find the. The place I'm talking about. Okay. Okay. So, so which one are your. Please. Move to the middle. Just above the. Here. Yeah. Yeah. Just above the ground. Okay. Did you find the. Yeah. Here could you speak to that a little bit? I don't quite understand why you say that the. It's going to get. Yes. Yes. I'd like to explain this comment. Yeah. If you could. Yeah. Please stop the document. Okay. Yeah. The. The point is that. The. My comment is. The. The. Please look out to the floor. So there is four branches. The first one is. Parallel branch. Second is for. And. The. The. Should. The. Fourth is. I mean. Then. Each parallel branch. Has. Oh yeah. I think. He cares. The. Trans. Trans. Four. Translate. Backward. And post-result. To. So. This structure is two-dimensional array, right? Right. And currently, action array is one-dimensional. And if we keep action mode either parallel or sequential, so in case of which is parallel for action mode, this flow cannot be expressed by the current operation state. So that is my concern. Okay, so what you're saying there is, okay, let me understand this, but so you've actually got in each parallel branch, you've actually got three actions, right? So that you actually have three separate actions, a sequence of actions, and they are translate forward, backwards, and then post to slack. Okay, so what you're saying is that this actually could be quite a common case where you actually have parallel branches with multiple sequential actions in each one of them. Yeah, so you're making an argument for having essentially a two-dimensional array or a configuration for an operation state. Yeah, what? I mean, this could be implemented by the parallel state as you've suggested, but all you're saying is that if we were to add some form of parallel state with sequential actions, that would solve this particular use case. Yeah, but I wrote a comment here. I think if we choose to use parallel states, but I think it seems to me it's over-spec in this case because each parallel branch doesn't have a parallel state inside or switch state inside. So in that case, we can use operation state if we use action mode. So, okay, let me try to understand. A parallel state can express this flow, can cover this use case, right? Right? Yes. What's wrong? What's your point? So parallel states can already cover this. So your point is that... My point is operation state. Operation state, if we keep action mode in operation state, so customer, the user can choose parallel action in the operation state. Right? Yeah, okay. Yeah. But there is no specific parallel or there is no switch state necessarily in this case. So we can... I think we should allow customer to use operation state in parallel action. Okay. Yes. With parallel action. So you said we should allow operator to have parallel action mode, right? That's your point, right? Yes. I think we have, right? We keep it, right? Yes. But if we keep it, but the current state has one dimensional array, so this is not possible right now. So what you're saying is you'd like to have two-dimensional arrays added. If you specify a parallel action mode, you would have... You could possibly specify a two-dimensional array. Is that right? Yes. My point is either removing action mode in the operation state or allow two-dimensional array in the operation mode. Oh, okay. I got your point. Okay. So you said either we remove that, then everyone is forced to go to a parallel state. Yeah. All we keep it there. But you say keeping there. Okay. But keeping there. Okay, keeping there. Of course, people can still say, okay, keeping there. It's just one-dimensional. It cannot cover this case. People is going to go to parallel state. I think that's okay, right? I know your point. You just feel... So your point was either remove that parallel action. And last time I hear Carmen said, is that parallel action is a simplified way for users to specify, say it's just a one-dimensional action. Yeah, but typically each branch, each parallel branch is only one function is very rare, I think. Oh, you think it's very rare? Yeah, I think so. Because usually a thermal function is very small function, specific to single task. And I think in order to some amount of task, I think we need to compose. So in order to compose, I think we need a sequence of function. Yeah, but not necessarily. The function could be big, could be small, right? We cannot just say or predict that the use case is parallel state with one-dimensional function is very rare. I don't know. I'm not sure whether we can say that. The reason because the AWS allows us to only three minutes for one function? Yeah, but that's AWS, right? Other vendor might not have that limit. Could be three minutes, could five minutes. It depends. We cannot be always restricted by how AWS implements that. Yeah, that's true. But if we force AWS to extend the longer function, then I assume that AWS doesn't take this standard. No, no, no. We're not forcing them. The thing is that doesn't impact say we have a parallel state, one-dimensional parallel state. I'm not sure whether we want to extend it to two-dimensional because two-dimensional, you can be three-dimensional. We already have a parallel state to cover that. But if there's a simplified, if there's a use case that only needs a parallel function, a parallel operation state with parallel action, then they can use that. It's just a simpler. Yes, I understand your point. But my point is that only one function is real for each branch. That is my point. Yeah, I know. But I'm not sure whether it's really real or not. Yeah, I think we need to discuss because this is just my opinion. Yeah, yeah. Okay. I think at least it doesn't, it's okay, right? The operational, what's that? The parallel state already covered this use case, right? And then it's, and then if the user want to, if there are those use cases that doesn't need the parallel state, they can just go for parallel operation state with parallel function. Of course, it's one-dimensional, right? There could be use cases for that too. Yeah, but as I commented in the last sentence, so in this workflow, I think using a parallel state is almost made because it is not necessary. That is my point. But the thing is if we have that, right, that's become complicated too. Why not? It was just parallel state. No, if there's a, I'm thinking, but if you have parallel, okay, if we use that a two-dimensional operation state, do we still need parallel state? Yeah. So then we have too many different mechanisms, you know. If parallel state can cover it, then we have, so we have three, we have two different mechanisms to do. Yeah, but my preference is in that case, I little bit feel the action mode is a little bit redundant. Yeah, action mode is just a very simple case, you know, they're just, you know, they have only parallel functions. That's it. I think there are quite some use cases on that. So yeah, I think we, it is, it is very good to clarify the use case which only one function is necessary in the parallel, right? Yeah, yeah, yeah. We can add a clarification there. That's fine. Then we can see how it goes, right? The other use of the parallel state to cover it, no matter whether it's two-dimensional, three-dimensional, or more complicated branching, all those cases. The parallel state, I think, covers that, right? Yes. Okay. Okay, if you agree, I think we can, or maybe you would like to remove this section or you just keep it there. That's fine. Yeah, I'd like to keep it. And if you can, I'd like you to add the use case, just you mentioned each parallel branch has one function. Okay, you say add the use case for that. Is that what you were asking? Yeah. Okay, for that. Okay, for the just parallel, what's that? Parallel action, right? Yeah. Okay, we can do that. I think, you know, let's think about a use case for that. And otherwise you just feel we should remove that, right? Which one? Remove the parallel action. Yeah. Okay. Okay, I think that's all well over time. So anyone is writing the meeting minutes. I didn't write the meeting minutes today. Yeah, I'm sorry. I just, I just, I just mentioned, I'm not saying to remove parallel state. I, let me, if I, if I make you misunderstand me, I'm sorry. I, I'm not, I'm not saying that we can remove parallel state. Oh, okay. Yeah, yeah. I think that's important. We keep it there. Yes. The parallel action, we might not need it. Right. Okay. That's your point. Okay. Okay. Let's see. I, I, I still feel. Keep there. You know, it's a simplified way to, to just model some use cases. Okay. Anyway, well, well over time. Thank you very much. Everyone. Thank you very much. Thank you very much. Sure. Thank you. Thank you very much. Okay. Okay, thank you. Thank you very much. Okay, bye. Bye bye.