It is the only solution I found. I described it in the post but put it behind a “spoiler” “What doesn’t work” to make the post shorter.
This seems unmanageable because adding a new field or failing to provide input for a field will both change the output order of every subsequent value. It’s way too fragile.