 C++ notation for a nested
      type, given an enclosing type 'T' and an inner type 'InnerType', is 'T::InnerType'.
      If either the enclosing type 'T' does not exist, or the inner type 'InnerType'
      does not exist within 'T', the expression 'T::InnerType' will give a compiler
      error if we attempt to use it in our template instantiation of one of TTI's
      macro metafunctions.
    </p>
<p>
      This is a problem if we want to be able to introspect for the existence of
      inner elements to