An iterator over the type substructure. WARNING: this does not keep track of the region depth.
GenericArgs on the stack in reverse order so as to
maintain a pre-order traversal. As of the time of this
writing, the fact that the traversal is pre-order is not
known to be significant to any code, but it seems like the
natural order one would expect (basically, the order of the
types as they are written).