>>53
名前のない匿名な抽象型の例としてはC++かな
例えば以下のコードは構造的にobject.size()を使っていることで型付けされて
型パラメータTは構造的に無名な抽象型になる

template<class T> void print_size(T object) {
cout << "size: " << object.size() << endl;
}

その構造的に無名な抽象型を満たす任意の具象型で使うことができる

int main() {
std::string s = "abcde";
print_size(s); // size: 5

std::vector<int> v = {100, 200, 300};
print_size(v); // size: 3
}

もちろん名前がないために
多数の構造やその多段など複雑に込み入ってくると可読性が悪すぎたりコンパイルエラーがわかりにくい問題点も多いけどね