Language Idea: Limit number of paramters in custom types to three

I made a similar proposal a few months ago (A type proposal) where I suggested to have at most 1 parameter in union types, BUT still expanding constructor function for records and tuples, like :

type MyType a
  = Const
  | Value a
  | Record { foo : String }
  | Record2 { foo : String, bar : Int }
  | Tuple (a, a)

-- Type Constructors:
Const   : MyType a
Value   : a      -> MyType a
Record  : String -> MyType a
Record2 : String -> Int -> MyType a
Tuple   : a -> a -> MyType a
2 Likes