type RequiredProperty = { [P in keyof T]: Required> }