@andralex Correct me if I'm wrong, but isn't the preferred convention to use a template specialization when constraining to a single value, rather than a template constraint? (In this case it would be declared as `string op : "~"`) I can certainly imagine that there is a way the compiler could certainly lookup the correct overload without iterating over all of them if the code uses a template specialization rather than a constraint. The compiler doesn't currently use that method to lookup overloads, but I can imagine the code path that a template specialization lookup takes is faster than the path a template constraint would take.