I see that you can do mutually exclusive properties like this in TS
type A =
| { a: "common"; m: any; n: undefined }
| { a: "common"; m: undefined; n: any };
But how do I create a type that has at least 1, but not neither. And without being verbose...
type A = {a: "common"} & ({m: any} | {n: any});
Does that do it? Is there a better way?