I have this piece of code (simplified example):
Typescript playground
It\'s basically an overloaded function that might get 3 different types of object, and wi