intersect.ts A Typescript package made to programatically intersect an arbitrary number of types, and a partial intersection type. Supports types which are normally incompatible due to a discriminant property.