RankNTypes
{-# LANGUAGE RankNTypes #-}
f :: (forall a. [a] -> b) -> Bool -> b
f g flag =
if flag
then g "abcd"
else g [1,2]
main = do
print $ f length True
print $ f length FalseINFO
{-# LANGUAGE RankNTypes #-}
f :: (forall a. [a] -> b) -> Bool -> b
f g flag =
if flag
then g "abcd"
else g [1,2]
main = do
print $ f length True
print $ f length False