A tuple is basically an anonymous product type.  It&#39;s convenient to not have to spend the time making a named product type, because product types are so obviously useful.<br><br>Is there any reason why Haskell doesn&#39;t have anonymous sum types?  If there isn&#39;t some theoretical problem, is there any practical reason why they haven&#39;t been implemented?<br>
<br>It seems to me that type inference on anonymous sum types would give you a lot of the power that you get from heterogeneous lists.  Whenever you use a heterogeneous list, you&#39;ve essentially got a homogenous list of some sum type. If you don&#39;t handle all of the cases of the sum type, then you&#39;re going to eventually run into a type error.  It seems to me that having type inference on anonymous sums would allow you to safely get the power of a heterogeneous list.  Am I missing something here, or is this correct?<br>