Recursive public protocol Recursive Undocumented projectT(_:) Undocumented Declaration Swift static func projectT<F>(_ tf: Kind<Self, F>) -> Kind<F, Kind<Self, F>> where F : Functor project() Extension method Undocumented Declaration Swift static func project<F>() -> Coalgebra<F, Kind<Self, F>> where F : Functor cata(_:_:) Extension method Undocumented Declaration Swift static func cata<F: Functor, A>(_ tf: Kind<Self, F>, _ algebra: @escaping Algebra<F, Eval<A>>) -> A