the operator= problems in deque all reduce to a single exception object that is not safe to throw.  In theory, the construction and throwing of this object does not require TM support, so we can make the call 'pure'... it's a hack, and we need to figure out if, long-term, there's a way to make it safe, but for now, this allows me to move forward with deque