В Haskell, при использовании typeclass
, легко объявить ограничение типа его экземпляров.
class Functor (f :: * -> *) where
...
* -> *
представляет HKT (высшие типы), это означает, что любой тип, соответствующий Functor
, должен быть HKT.
Как мне добиться этого с помощью protocol
Swift?