I\'m trying to convert IO [String] to [String] with <- binding; however, I need to use a do block to
As a slightly different angle on AJFarmar's answer: The only things you can have in a where are declarations. do blocks aren't declarations, they are expressions. I.e. this is the same as if you tried to write where 2+5. If you want to declare block in a where, it must be
where
// can have other declarations, even mutually recursive
block = ...