ults in further uses of the type when doing metafunction
      programming. Occasionally the TTI produced marker type, when our nested type
      does not exist, is not sufficient for further metafunction programming. In
      that rare case the end-user can produce his own marker type to be used if the
      nested type does not exist. In any case, whether the nested type exists, whether
      the TTI default supplied marker type is used, or whether an end-user marker
      type is used, template metaprogr