On Thu, Nov 30, 2017 at 12:55:07PM +0100, Marcus Manning wrote:
> But Either is not (*->*)->*, instead it is *->(*->*). Is (*->*)->*
> expressable in Haskell functions?
Yes, with an appropriate data declaration:
λ> data FooType a = FooCons (a Int)
λ> :k FooType
FooType :: (* -> *) -> *