Use `cabal-dev`, it's a handy tool for isolated builds and makes it
easier to add development versions of dependencies to packages list
local to your project, not ~/.cabal.
If you're getting an error about a hidden package at runtime, that
means you're likely using the development loader. The development
loader uses hint to build your code at runtime, and rebuild it when
you change the source code. I'm not familiar with the development
loader, or if it would work with cabal-dev.
--
Chris Smith