[Playground](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBDAnmApnA3nAogRwK4CGANnAL5wBmUEIcA5CgB6oDGMAtEqnQNwBQfLmgAqARjgBebPmIAePnEVwAFAEpJAPgxwCAfgBcK9RK2YChgNqYARpYDOMKMAB2AcwA02loYdO3ZAF1AsjJ3BSU1TW09Q0iTaMsbe0cXDy8fFLceOAATAzhnPBBrFChg0iDyUj4NfiA) ```ts import type { Equal } from 'expect-type'; type T1 = Equal< () => { a?: () => { a: [{ b: [string, { c: string }] }] } }, () => { a?: () => { a: [{ b: [string, { c: string; d?: number }] }] } } >; //=> true ```
Playground