That TypeScript supports this is yet more complexity introduced to cover usages of an API not designed around types.