# ForArrayK

``public final class ForArrayK``

Witness for the `ArrayK<A>` data type. To be used in simulated Higher Kinded Types.

• ``` eq(_:_:) ```

#### Declaration

Swift

``public static func eq<A>(_ lhs: Kind<ForArrayK, A>, _ rhs: Kind<ForArrayK, A>) -> Bool where A : Equatable``
• ``` map(_:_:) ```

#### Declaration

Swift

``public static func map<A, B>(_ fa: Kind<ForArrayK, A>, _ f: @escaping (A) -> B) -> Kind<ForArrayK, B>``
• ``` pure(_:) ```

#### Declaration

Swift

``public static func pure<A>(_ a: A) -> Kind<ForArrayK, A>``
• ``` flatMap(_:_:) ```

#### Declaration

Swift

``public static func flatMap<A, B>(_ fa: Kind<ForArrayK, A>, _ f: @escaping (A) -> Kind<ForArrayK, B>) -> Kind<ForArrayK, B>``
• ``` tailRecM(_:_:) ```

#### Declaration

Swift

``public static func tailRecM<A, B>(_ a: A, _ f: @escaping (A) -> Kind<ForArrayK, Either<A, B>>) -> Kind<ForArrayK, B>``
• ``` foldLeft(_:_:_:) ```

#### Declaration

Swift

``public static func foldLeft<A, B>(_ fa: Kind<ForArrayK, A>, _ b: B, _ f: @escaping (B, A) -> B) -> B``
• ``` foldRight(_:_:_:) ```

#### Declaration

Swift

``public static func foldRight<A, B>(_ fa: Kind<ForArrayK, A>, _ b: Eval<B>, _ f: @escaping (A, Eval<B>) -> Eval<B>) -> Eval<B>``
• ``` traverse(_:_:) ```

#### Declaration

Swift

``public static func traverse<G: Applicative, A, B>(_ fa: Kind<ForArrayK, A>, _ f: @escaping (A) -> Kind<G, B>) -> Kind<G, Kind<ForArrayK, B>>``
• ``` combineK(_:_:) ```

#### Declaration

Swift

``public static func combineK<A>(_ x: Kind<ForArrayK, A>, _ y: Kind<ForArrayK, A>) -> Kind<ForArrayK, A>``
• ``` emptyK() ```

#### Declaration

Swift

``public static func emptyK<A>() -> Kind<ForArrayK, A>``
• ``` empty() ```

#### Declaration

Swift

``public static func empty<A>() -> Kind<ForArrayK, A>``