Hey,

I have a function

func1 :: IO String

and another:

func2 :: String -> Either String String

and I want to combine them, giving the output of the first as the input as the second.

func3 :: IO (Either String String)
func3 = do
  tmp <- func1
  return (func2 tmp)

Ok, possible. But I rather would like a result of type “EitherT String IO String”.
So how can I combine these function in a smart way, to get the needed result?

Thanks!
Nathan