Typing util.format() with TypeScript Template Literal Types
Node's util.format() is typed as (format: string, ...args: any[]) which lets all kinds of mistakes through. Here we build a type-safe version from scratch using generics and template literal types.