I'm not quite sure why a function type definition is not strict when comparing the return type specified when it is an object and will allowed to include extra properties within it, despite the fact I won't be able to use those properties later.
This is something more related to the core of why TS works this way. I will not expect a solution here, but to understand why the TS team decides to make this behaves this way and also if there is any way at the tsconfig level where I can change this behavior, or in the type function level. I know that I can retype the return value when using the function and it will make an strict check but my question surrounds more the WHY THIS.
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.