parseCmd :: IState -> String -> String -> Either IP.ParseError (Either String Command)
parseCmd i inputname = IP.runparser pCmd i inputname . trim
    where trim = f . f
              where f = reverse . dropWhile isSpace
parseCmd :: IState -> String -> String -> Either IP.ParseError (Either String Command)
parseCmd i inputname = IP.runparser pCmd i inputname . trim
    where trim = f . f
              where f = reverse . dropWhile isSpace
parseCmd i inputname = IP.runparser pCmd i inputname . trim
    where trim = f . f
              where f = reverse . dropWhile isSpace