compCmd :: Cmd -> CompM CompCmd
compCmd c@(Cmd (R.BasicCmd cn) args) = do
       ti <- getTag cn
       nargs <- (mapM compToken args >>= return . Right) `ifFails` (Left args)
       return $ CompCmd (Just ti) nargs c
compCmd :: Cmd -> CompM CompCmd
compCmd c@(Cmd (R.BasicCmd cn) args) = do
       ti <- getTag cn
       nargs <- (mapM compToken args >>= return . Right) `ifFails` (Left args)
       return $ CompCmd (Just ti) nargs c
compCmd c@(Cmd (R.BasicCmd cn) args) = do
       ti <- getTag cn
       nargs <- (mapM compToken args >>= return . Right) `ifFails` (Left args)
       return $ CompCmd (Just ti) nargs c