ChainedTransform
Parameters
I
The input type of the first transform
M
The intermediate type (output of first, input of second)
O
The output type of the second transform
first
The first transform to apply
second
The transform to apply to the first transform's output