tree structure array considerations
  Lowest dimension may be any valid type, including structure types.
  Higher dimensions MUST be dimensioned as higher dimensions DIM a[h, ].
  A given array or subarray must contain all nodes or all data of one type.
  Irregular arrays may contain variable numbers of dimensions.
  Irregular arrays may contain empty nodes (node contents = 0) at any level.
  Programs must assure accesses through empty nodes are not attempted.
  Programs must assure accesses through data elements are not attempted.
  Valid irregular arrays have only data in the lowest dimension.
  Valid irregular arrays have only nodes in higher dimensions.
  All subarrays below a node are freed when the node is detached and freed.
  Array nodes are accessed/tested with "excess comma" syntax ( a%[n,m,] ).
  An array of any number of dimensions can be attached at any empty node.
  Arrays must never be attached to the lowest dimension (data element).
  Arrays must never be attached to non-empty nodes.
  An empty array is one kind of empty node.