How to return reference from BlueprintImplementableEvent?

I’ve got a C++ component and I want to have function which will be implemented in Blueprint like this:

UFUNCTION(BlueprintImplementableEvent)
Stats& GetStats();

But this doesn’t compile, I get the following error:

overload function differs only by return type from

and Unreal generates function inside .gen.cpp looking like this:

Stats Component::GetStats()
{
// ...
}

which actually differs from declaration.

Stats is USTRUCT