The example code is slightly wrong. Change this: > (_,_,errs) -> fail (userError (concat errs ++ usageInfo header to this: > (_,_,errs) -> ioError (userError (concat errs ++ usageInfo header Cheers, Simon