This adds the target initial definition of a homogeneous Tuple<T>
type, and just enough processing that the type can be defined and
non-template methods that deal with the generic base type Tuple can
be called. Still has no actual template instantiation.