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

**URL:** <https://discourse.elm-lang.org/t/language-idea-limit-number-of-paramters-in-custom-types-to-three/2034>\
**Category:** Request Feedback\
**Created:** [September 23, 2018, 7:41pm UTC](https://discourse.elm-lang.org/t/language-idea-limit-number-of-paramters-in-custom-types-to-three/2034 "2018-09-23T19:41:35Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Warry](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/warry/32/3998_2.png) [@Warry](https://discourse.elm-lang.org/u/Warry)\
**Post date:** [September 24, 2018, 7:50am UTC](https://discourse.elm-lang.org/t/language-idea-limit-number-of-paramters-in-custom-types-to-three/2034/6 "2018-09-24T07:50:43Z")

</div>

I made a similar proposal a few months ago ([A type proposal](https://discourse.elm-lang.org/t/a-type-proposal/1278)) 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
```

---

_[View the full topic](https://discourse.elm-lang.org/t/language-idea-limit-number-of-paramters-in-custom-types-to-three/2034)._
