Given:

uncurry :: (a-> b -> c) -> (a,b) -> c    
id :: a -> a

Invoking uncurry id results in a function of type: (b -> c, b) -> c

How do we get this result?

How can you use id (a -> a) as the first parameter to uncurry, which requires a (a -> b -> c) function?

Edit
Report