they're dangerous as they will make things like std::min() work, but probably won't do the right thing.