Many abstract data types in mathematics and computer science can be described as the algebra generated by a transformation that maps structures based on the type back into the type. For example, the type T of binary trees containing values of type A can be represented as the algebra generated by the transformation 1+A×T2→T. The "1" represents the construction of an empty tree, and the second term represents the construction of a tree from a value and two subtrees. The "+" indicates that a tree can be constructed either way.