It\'s possible to overload class methods in TypeScript by declaring each method, and then adding a single implementation that fulfills the contracts of all the declared overload