Typescript Cookbook: Real World Type-Level Programming - Stefan Baumgartner