This is used to manage each element (node) which is placed on a chain.
Note
Typically, a more complicated structure will use the chain package. The more complicated structure will include a chain node as the first element in its control structure. It will then call the chain package with a pointer to that node element. The node pointer and the higher level structure start at the same address so the user can cast the pointers back and forth.