From the function's point of view it may be asked to return any type T. That is not the same thing as it being able to return any type that is convenient for its implementation.
This literally makes no sense.
This literally makes no sense.