4.25+ Wildcards in C++

In 4.25 and onwards UProperty was replaced with FProperty. However, FProperty cannot be used as UProperty has been, especially in the case of wildcards in UFunctions.
I want to use a wildcard input of an array and output a map that uses that wildcard as keys and integers as values.

A workaround has been CustomThunk.
I used the following however it is not entirely correct in my .h:

UFUNCTION(BlueprintCallable, CustomThunk, meta = (DisplayName = "test function4", Keywords = "testkeyword", ArrayParm = "TargetArray" , MapKeyParam = "TargetArray", MapParam = "Output", AutoCreateRefTerm = "Options"), Category = "MyProject")
		static void TestFunction4(const TArray<int32>& TargetArray, TMap<int32, int32>& Output);

As it is, I can call it and it “looks” ok-ish.
However I cannot use or define the function in the .cpp file.

I cannot find any documentation or examples on how to use this properly at all.
Would someone know another workaround to using UProperties/FProperties? Or better yet, a full example of how to use the CustomThunk?