# uncurry

uncurry converts a curried function to a function on pairs.

#### Examples

```>>> uncurry (+) (1,2)
3
```
```>>> uncurry (\$) (show, 1)
"1"
```
```>>> map (uncurry max) [(1,2), (3,4), (6,8)]
[2,4,8]
```
Convert a curried function to a function on strict pairs.
uncurry converts a curried function to a function on pairs.

#### Examples

```>>> uncurry (+) (1,2)
3
```
```>>> uncurry (\$) (show, 1)
"1"
```
```>>> map (uncurry max) [(1,2), (3,4), (6,8)]
[2,4,8]
```
uncurry converts a curried function to a function on pairs.
Beware, uncurry is not compatible with the standard one because it is higher-order and we don't have multiplicity polymorphism yet.
uncurry converts a curried function to a function on pairs.

#### Examples

```>>> uncurry (+) (1,2)
3
```
```>>> uncurry (\$) (show, 1)
"1"
```
```>>> map (uncurry max) [(1,2), (3,4), (6,8)]
[2,4,8]
```
Converts a curried function to a function on a triple.
Uncurries a function expecting three r, g, b parameters.
mothers little helpers for to much curry
Convert a curried function on Sigma to an uncurried one. Together, currySigma and uncurrySigma witness an isomorphism. (Refer to the documentation for currySigma for more details.)
Like uncurryType, except on a kind level.
Split a type signature by the arrows on its spine. For example, this:
```forall a b. (a ~ b) => (a -> b) -> Char -> ()
```
would split to this:
```(a ~ b, [a -> b, Char, ()])
```
uncurry with no lazy pattern matching for more efficient code.