нужно было сразу писать с учетом множественных af_family, а не хардкодить
Я о том, что нет ничего более консервативного, чем привычки людей, в данном случае разработчиков. Для того, чтобы изменить свои привычки, недостаточно новостей о новомодных веяниях, нужна конкретная цель, которую можно потрогать здесь и сейчас, а не какая-то отдалённая и туманная. Что касается AF_UNSPEC, то попробуй создать гнездо с таким типом адреса. Наиболее вероятно, что ты в ответ получишь -1 и EINVAL. Это связано с тем, что конкретный сетевой стек выбирается именно на этапе создания гнезда. Что касается hardcoding, то, указывая вместо AF_INET AF_INET6, ты занимаешься тем же самым. Те же яйца, только вид сбоку.