    def placeholder(self, target, args, kwargs):
        input_spec = self.input_specs[self.input_specs_iter]
        self.input_specs_iter += 1
        if isinstance(input_spec, List):
            """
            List[Tensor] inputs are flattened in the compiled AIT engine.
            Pytorch module original forward:
                def forward(self, a : Tensor, b: List[Tensor])
                    mod.forward(a, b)

            Ait compiled engine forward:
                engine.forward(a, b##ARG_SPLITTER_KEYWORD##0, b##ARG_SPLITTER_KEYWORD##1)
            AITModule restores calling of the original forward:
                ait_mod.forward(a, b)
            """
            ait_tensors = []
            for i, inp_spec in enumerate(input_spec):
                target_name = f"{target}{ARG_SPLITTER_KEYWORD}{i}"
                self._fx_input_names.append(target_name)
                ait_tensors.append(
                    AITTensor(
                        shape=inp_spec.shape,
                        dtype=dtype_to_str(inp_spec.dtype),
                        name=target_name,
                        is_input=True,
                    )
                )
            return ait_tensors
        elif isinstance(input_spec, TensorSpec) or isinstance(input_spec, torch.Tensor):
            self._fx_input_names.append(target)
            return AITTensor(
                shape=input_spec.shape,
                dtype=dtype_to_str(input_spec.dtype),
                name=target,
                is_input=True,
            )
        else:
            raise AssertionError(
                "Input spec must be a Tensor(Spec) or List of Tensor(Spec)."
            )
List[Tensor] inputs are flattened in the compiled AIT engine.
Pytorch module original forward:
def forward(self, a : Tensor, b: List[Tensor])
mod.forward(a, b)

Ait compiled engine forward:
engine.forward(a, b##ARG_SPLITTER_KEYWORD##0, b##ARG_SPLITTER_KEYWORD##1)
AITModule restores calling of the original forward:
ait_mod.forward(a, b)
fx2ait/fx2ait/fx2ait.py