I don't think that would be enough.
At the end of the article I linked the paper "Code staging in GNU Guix" (
https://arxiv.org/abs/1709.00833) which explains why 2 stages of code execution are so central in Guix.
In practice, this means that a Turing-complete language (Scheme) is used both at the declaration level and the build level. Lots of packages make use of this feature, it brings tremendous flexibility to packaging.