Function type expressions can also be aliased. Giving a name to a callback shape makes code easier to read and reuse. Keep parameter and return types explicit.
type Stringifier = (n: number) => string.formatAll(nums: number[], fmt: Stringifier): string[] that maps each number using fmt.