TypeScript Constructor Overloading: How to Use Overload Signatures Correctly | CodeTrail