>but I'm suspicious of anything which requires an explicit import step for rubygems that doesn't involve resolving the dependency tree.
The current 'guix import gem' utility doesn't do dependency resolution at all. It just generates some Scheme code for you to start with and you fill in the gaps. It's important to understand that Guix packages specify the exact versions of its dependencies. That includes not only the version number, but its explicit dependencies, the Ruby used during the build, the GCC used for native extensions, the full build script, etc. All of these various inputs to the build function are reflected in the SHA256 hash that uniquely identifies that package.
The loose versioning that Bundler uses is indeed very flawed and prone to strange errors. Guix simply doesn't have this issue.