--- cmdlib-0.3.4-orig/System/Console/CmdLib/Command.hs 2011-10-07 07:19:48.000000000 +1100 +++ cmdlib-0.3.4/System/Console/CmdLib/Command.hs 2012-01-06 20:49:59.668959773 +1100 @@ -225,6 +225,13 @@ commandGroup :: (Commands a) => String -> a -> [CommandWrap] commandGroup s l = [CommandGroup s (toCommands l)] +#if !MIN_VERSION_mtl(2,0,0) +instance Monad (Either e) where + return = Right + Left l >>= _ = Left l + Right r >>= k = k r +#endif + -- TODO: disambiguation, hidden commands (aliases) findCommand :: String -> [CommandWrap] -> [CommandWrap] findCommand key list = case accum list of Left x -> [x]