例えば、あるクラスでAプロトコルを採用した場合、
プロトコルの宣言内容に沿って、
クラスの内にインスタンスメソッド・プロパティ等を定義します。

しかし演算子のプロトコル(例えば、Equatable, Comparableなど)を採用した場合、
定義は、グローバル関数として実装します。

なにか仕様的に矛盾している感じがあり、理解できません。

演算子のプロトコルを採用した場合、実装がグローバル関数でよいのか、教えてください。