https://medium.com/@erfungraph99/20-tips-for-writing-clear-and-efficient-typescript-code-5dcac87c398e