make Tuple its own, rather than yet another algebraic