Change how we handle Tuple serialization to be more rigorous

Now we provide a serializer for Tuples