Currently, static method imports give you multiple options:
foreign import java unsafe "@new" newFile :: String -> Java a File
foreign import java unsafe "@new" newFile1 :: String -> IO File
It would be great to unify this to:
foreign import java unsafe "@new" newFile :: (MonadIO m) => String -> m File
The main requirement for this is that MonadIO should be in the standard library.
Con:
Makes it harder for beginners and increases the learning curve.