Improve Cabal restore logic