он не обязан быть с ней, он вообще может быть из сторонней либы. а тут ты имеешь некоторый O<T> и хочешь сделать функцию, которая умеет вызывать + у двух T. их надо привести к общему знаменателю - в данном случае протокол. как по мне - это очень даже элегантное решение