resolver rewritten to use shrinkwrap
more expressive error message