I am learning currying and uncurrying of functions in Haskell. If I have this code:

```
fc :: Num a => a -> a -> a -- curried function
fc x y = x + y
fu :: Num a => (a, a) -> a --uncurried function
fu (x,y) = fc x y
uncurry' :: Num a => (a -> a -> a) -> Num a => (a, a) -> a
uncurry' f(x,y) = f x y
main = print(uncurry' fc 4 5)
```

The compiler complains with the following error:

"Illegal polymorphic or qualified type: Num a => (a, a) -> a".

What is the correct type signature for `uncurry'`

?