The following seems -- as verified by some casual testing -- to do what I want:
Yay! Your code looks nice. Should I attempt to write a patch documenting this workaround or is this too niche of a problem? A patch for the documentation would be welcome, sure. Don't worry about exact wording or anything, since I'll most likely do plenty of tweaking anyway :). --thanks, karl.