疑問があります。

ジェネリックなclassを定義する時<T>とかって型パラメータを記載します。
たとえば
class GeoPoint<T> {

}
ジェネリックなprotocolの定義では型パラメータ(付属型)をこんな具合に記述します。
protocol GeoPoint {
associatedtype T

}
なんで
protocol GeoPoint<T> {
}
って記述方法にならなかったんでしょう?