Why does TypeScript only allow overloading of constructor type signatures and not the Implementation? I find overloading constructors like in Java to be very useful. For instance, defining vectors with various combinations such as end coordinates, start and endpoint, or two vectors would be beneficial. The current approach in TypeScript appears chaotic in comparison. What is the reasoning behind TypeScript not having this feature?