In specifying a translation template definition, it is expected that transformation steps have, in addition to they type and config properties, an itemwise property indicating whether transformation must be applied to individual items in an input array independently, or to the entire array as a whole.
Each transformation type supports both, but has one preferred. For example, if an array of two or more items is passed to a Split transformation step, the default behavior is to apply transformation item-wise. Whereas if it is passed to a Join transformation step, the most likely preferred behavior is that it is applied to the array as a whole.
In addition, it may be confusing for users to decide whether a transformation step should be applied item-wise or not, and usually they would be OK with using the default behavior.
Therefore, consider setting the itemwise property of the TransformationDefinition interface as optional, and use the default setting for each transformation type if unset.