uncurryn :: r a -> Prod '[] a uncurryn :: (f a -> r a) -> Prod '[f] a uncurryn :: (f a -> g a -> r a) -> Prod '[f, g] a uncurryn :: (f a -> g a -> h a -> r a) -> Prod '[f, g, h] a ⋮