from Data.Either import :: Either
from Data.Functor import class Functor
from Data.Map import :: Map
-from StdMaybe import :: Maybe
from StdOverloaded import class <, class fromString
from System.FilePath import :: FilePath
from System.IO import :: IO
from System.Time import :: Timestamp
class MonadFail m | Monad m where fail :: String -> m a
-instance MonadFail Maybe, []
+instance MonadFail ?, []
instance MonadFail (Either a) | fromString a
instance MonadFail (StateT s m) | MonadFail m