Overloads and Callbacks
Don’t write separate overloads that differ only on callback arity:
/* WRONG */
declare function beforeAll(action: () => void, timeout?: number): void;
declare function beforeAll(action: (done: DoneFn) => void, timeout?: number): void;
Do write a single overload using the maximum arity:
/* OK */
declare function beforeAll(action: (done: DoneFn) => void, timeout?: number): void;
Why: It’s always legal for a callback to disregard a parameter, so there’s no need f