The derivative of such a type is the type that describes the context of a particular substructure with respect to its next outer containing structure. Put another way, it is the type representing the "difference" between the two. In the tree example, the derivative is a type that describes the information needed, given a particular subtree, to construct its parent tree. This information is a tuple that contains a binary indicator of whether the child is on the left or right, the value at the parent, and the sibling subtree. This type can be represented as 2×A×T, which looks very much like the derivative of the transformation that generated the tree type.