@civodul i love it! c:
it's been many years now since i've kept my guix checkout up-to-date, but i'd written a macro, `modify-record`, using cut-inspired syntax to similar effect
(eg. in https://codeberg.org/antlers/old-guix-config/src/branch/main/modules/antlers/systems/transformations/yubi.scm)
i used literals `=>`, `-->`, or `->` at the call-site to branch over whether a field was thunked, delayed, or neither (resp.). wasn't able to wrap my mind around the records internals enough to make that implicit before moving on to my next fixation
i infer from the terminology in the issue and scope of the changes that this *only* applies to thunked fields (generally build-system `arguments` and os `services`), and not to un-thunked fields (like os `users` or os `kernel-arguments`), nor to `delay`-ed fields (took a second to find one: os `swap-devices`) if still applicable 3 years since
no notes tbh, just want to be sure you know someone's already seen this who knows exactly what you mean and appreciates you -- there are dozens (of dozens!) of us c: