... manually, it's easy to forget one of the overloads for taking one const simple_string& and one const char*. When using the Operators library, you can't forget, because the library ... boost::addable<simple_string, boost::addable2<simple_string,const char*> > { This is all that's needed for supporting the full set of operators that we aimed for! As you can see, we used a ... operator class: addable2. If you're using a compiler that supports partial template specialization, you don't have to qualify the name; use addable instead of addable2. There are also...