This is a collection of utilities for programming in TypeScript's Type System.
Each codeblock represents one utility type, but there are often multiple implementations. Each implementation has equivalent semantics, but differ in dependency count and length.
Most of the time, the implementation you pick should not really matter.
However, if you are code-golfing, alternate versions may be better or worse depending on what other utility types you need. Also, some implementations may benefit from inlining.