https://blog.devgenius.io/how-a-typescript-utility-types-question-cost-me-a-frontend-job-offer-e0799262918d