Same behavior, but makes the interface more flexible and allows non-std::string instances to be used with it.
Prevents implicit conversions.