Our option handling is a bit ad-hoc in general. I'm not opposed to passing the record around by hand, but the record should contain some structure so that it's possible to figure out which part (front/middle/back-end) of the compiler the setting belongs to.

I'll put this on the list of things to do, but it won't happen this week.