All GENERIC trees have two fields in common.  First, TREE_CHAIN
is a pointer that can be used as a singly-linked list to other trees.
The other is TREE_TYPE.  Many trees store the type of an
expression or declaration in this field.
These are some other functions for handling trees:
tree_size ¶Return the number of bytes a tree takes.
build0 ¶build1 ¶build2 ¶build3 ¶build4 ¶build5 ¶build6 ¶These functions build a tree and supply values to put in each
parameter.  The basic signature is ‘code, type, [operands]’.
code is the TREE_CODE, and type is a tree
representing the TREE_TYPE.  These are followed by the
operands, each of which is also a tree.