¿Hay algunas razones teóricas para eso (como que la verificación de tipos o la inferencia de tipos se volverían indecidibles), o razones prácticas (demasiado difíciles de implementar adecuadamente)? Actualmente, podemos envolver cosas newtypecomo newtype Pair a = Pair (a, a) y luego tener Pair...