/**
 * _.countBy
 */
countBy([6.1, 4.2, 6.3], Math.floor);
countBy(["one", "two", "three"], "length");

/**
 * _.difference
 */
difference((["a", "b"]: $ReadOnlyArray<string>), (["b"]: $ReadOnlyArray<string>));
difference((["a", "b"]: $ReadOnlyArray<string>), (["b"]: $ReadOnlyArray<string>), (["a"]: $ReadOnlyArray<string>));

/**
 * _.differenceBy
 */
differenceBy(([2.1, 1.2]: $ReadOnlyArray<*>), [2.3, 3.4], Math.floor);
differenceBy([{ x: 2 }, { x: 1 }], [{ x: 1 }], "x");

/**
 * _.differenceBy
 */
differenceBy(([2.1, 1.2]: $ReadOnlyArray<*>), [2.3, 3.4], Math.floor);

/**
 * _.each
 */
each(([1, 2]: $ReadOnlyArray<number>), (item: number) => false);

/**
 * _.find
 */
(bindAll(): void);
(bindKey(): Function);
(castArray(): Array<*>);
(chain(null): null);
(chunk(null, null): Array<*>);
(compact(null): Array<*>);
(concat(): Array<*>);
(cond(null): Function);
(conforms(null): Function);
(constant(null): Function);
(countBy(null, null): {});
(create(null, null): {});
(defaults(): {});
(defaultsDeep(): {});
(difference(): Array<*>);
(differenceBy(): Array<*>);
(differenceWith(): Array<*>);
(drop(null, null): Array<*>);
(dropRight(null, null): Array<*>);
(dropRightWhile(null, null): Array<*>);
(dropWhile(null, null): Array<*>);
(fill(null, null, null, null): Array<*>);
(filter(null, null): Array<*>);
(flatMap(null, null): Array<*>);
(flatMapDeep(null, null): Array<*>);
(flatMapDepth(null, null, null): Array<*>);
(flatten(null): Array<*>);
(flattenDeep(null): Array<*>);
(flattenDepth(null, null): Array<*>);
(flow(): Function);
(flowRight(): Function);