@csepp The answer is twofold: (1) providing concise ways to express things packagers may want to do, and (2) presenting data in a human-friendly way (lowering gexps and pretty-printing the result).
One can still do “,pp (package-arguments grep)” but that’s less convenient.
See https://issues.guix.gnu.org/67489 for a discussion.
@civodul The problem is that this makes hard to use these in scripts. I ran into exactly this issue when I was writing my MirageOS importer (which I promise I'm gonna try upstreaming during the holidays 😅). I needed to build a package that just ran mirage configure and use the dune config file from it to get the dependency list and call the opam importer, which then generated the code.
Sure, I figured out how to do it in the end, but it was more complicated than just calling (build thing).