Let\'s say I have two types that share some properties:
type A = { shared1: string; shared2: string; notShared1: string; }; type B = { shared1: string;