A generically typed set of collections for use with TypeScript