Hi,
> I'm leaning toward choice 1: it's inelegant but probably safe. Anyone
> want to give me arguments in either direction, or suggest a third choice?
Instinctively, I agree with you, and, furthermore:
http://gcc.gnu.org/ml/libstdc++/2004-08/msg00183.html
Paolo.