Это прямо из Руководства разработчика Swift.
В Swift есть два типа типов: именованные типы и составные типы. Именованный тип — это тип, которому можно присвоить конкретное имя при его определении. К именованным типам относятся классы, структуры, перечисления и протоколы. Например, экземпляры пользовательского класса с именем MyClass имеют тип MyClass. В дополнение к определяемым пользователем именованным типам стандартная библиотека Swift определяет множество часто используемых именованных типов, включая те, которые представляют массивы, словари и необязательные значения. .... Составной тип — это тип без имени, определенный в самом языке Swift. Существует два составных типа: типы функций и типы кортежей.
У функций тоже есть имена, почему функции считаются составным типом, а не именованным?