My only thought is using the ```static std::atomic<bool>``` avoids having to take a lock on the mutex each call to the constructor. But given the requirement of equal calls I'm not sure how that could be accomplished with the atomic :/.