I have a file `number.txt` which contains a large number and I read it into an `IO String` like this:

```hs
readNumber = readFile "number.txt" >>= return

```

In another function I want to create a list of `Int`s, one Int for each digit…

Lets assume the content of `number.txt` is:

```none
1234567890

```

Then I want my function to return `[1,2,3,4,5,6,7,8,9,0]`.

I tried severall versions with `map`, `mapM(_)`, `liftM`, and, and, and, but I got several error messages everytime, which I was able to reduce to

```none
Couldn't match expected type `[m0 Char]'
            with actual type `IO String'

```

The last version I have on disk is the following:

```hs
module Main where

import Control.Monad
import Data.Char (digitToInt)

main = intify >>= putStrLn . show

readNumber = readFile "number.txt" >>= return

intify = mapM (liftM digitToInt) readNumber

```

So, as far as I understand the error, I need some function that takes `IO [a]` and returns `[IO a]`, but I was not able to find such thing with hoogle… Only the other way round seemes to exist