Greetings.
 
I know 2 special type constructors(there might be other that I do not know yet) -> and ( , )  where structural type equivalency is enforced and we can also create new types with an algebric type constructor notation where name equivalency is enforced.
 
What is the rationale? I mean why 2 special type constructors, but not 5, or 10 or N?
 
Thanks for taking time.