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