Weaker version of Applicative.

This type-class is exposed in addition to `Applicative` because there are data types for which we can't implement `of`, but that could still benefit from an `ap` definition. For example in case of a `Map<K, ?>` we couldn't define `pure` for it because we don't have a `K` key.

Must obey this law:

1. Composition: `A.ap(A.ap(A.map(f => g => x => f(g(x)), a), u), v) <-> A.ap(a, A.ap(u, v))`

Equivalent with the `Apply` type-class in the Fantasy-Land and static-land specifications.

### Type parameters

- #### F

### Hierarchy

- Functor<F>
  - Apply
    - Applicative
    - Chain

## Index

### Methods

- ap
- map

## Methods

### ap

- ap<A, B>(ff: HK<F, function>, fa: HK<F, A>): HK<F, B>

- - Defined in apply.ts:31

  #### Type parameters

  - #### A

  - #### B

  #### Parameters

  - ##### ff: HK<F, function>

  - ##### fa: HK<F, A>

  #### Returns HK<F, B>

### map

- map<A, B>(f: function, fa: HK<F, A>): HK<F, B>

- Inherited from Functor.map

  - Defined in functor.ts:27

  #### Type parameters

  - #### A

  - #### B

  #### Parameters

  - ##### f: function

    - - (a: A): B

      - #### Parameters

        - ##### a: A

        #### Returns B

  - ##### fa: HK<F, A>

  #### Returns HK<F, B>

Generated using TypeDoc