Makes all field optional recursively https://stackoverflow.com/questions/41980195/recursive-partialt-in-typescript
Makes all field optional recursively https://stackoverflow.com/questions/41980195/recursive-partialt-in-typescript