added AliasTuple trait (more general than TypleTuple); removed isSameTypeTuple since tuples can now be compared after wrapping through AliasTuple