The specific error is this: Wrong number of values returned to continuation (expected 2) It is caused by opam->guix-package silencing intermediate errors by using and-let* (the poor person's Maybe monad) and returning #f when the receiving side expects two return values.
Initial reproducer: guix import opam -r mirage Also happens with opam-monorepo. Cc-ing Julien whom might know why the code is structured this way? It's not like the calling side can handle a falsy return and the error is not detected early either, so the user doesn't even know what is causing it. Can I just turn it all into errors? Or maybe we can use the condition system?
