Bulat Ziganshin wrote: > afair, Render is a super-IO monad so you can just lift any IO > operation to Render: > > x <- liftIO$ imageSurfaceCreateFromPNG file You are indeed correct. I feel really silly now, using unsafePerformIO in the IO monad. D'oh! Thank you very much! Rafal Kolanski.