Defines way to transform give type constructor F
Defines a strategy for tupling A and B values, according to types A and B.
A
B