Improve Cabal restore logic
Tighten up patterns