<div dir="ltr">Hello list, I'm trying to accomplish something along this line<br><div><br>{-# LANGUAGE ScopedTypeVariables #-}<br><br>f :: IO (a -> a)<br>f = return id<br><br>main = do<br>  (g :: a -> a) <- f<br>  print $ g 1<br>  print $ g "ciao"<br><br></div><div><br><br></div><div>Is it possible or I have to call f more than once to get different g's<br><br><br></div><div>Thanks<br></div><div><br></div><div>paolino<br></div></div>