Seems like an odd objection. For this particular task, the input will always be the same -- I just wanted to be able to run it again when that input file might change. If I were writing something where the input would change, I wouldn't have embedded the script. I would have created a script that would process a file or files, and put it somewhere proper (~/bin if something only useful for myself).
Plus, that would defeat the initial intent of running ~/.XCompose-ordering itself to update it.
Thanks for the pointers. I like what I ended up with.