In 29C11459 we introduced the MapComponents transform which can handle arbitrary modifications, additions, and deletions of components when mapping from a class of input objects to output objects.
At that time, we required that the input object map to a particular component in the output object, whereas for this task, we allow there to be no mapping from the input object to any particular component in the output, but rather to the entire output.

