Are you really mixing two or even three different generics frameworks?
1. FGL, as per the specialization
2. RTL-Generics, as per the error message
3. FCL-STL, probably, because that clashed with your use of G (To my eyes)
I wonder how that worked in the past.... It is not wrong - to the compiler - in principle, provided you keep an eye on unit order and/or use unit name prefixes, but it can confuse you.
Note that both methods that you implement are already covered by RTL-Generics in Tlist<T> so they are superflous when you use rtl-generics. The generics.collections.Tlist<T> is the one to use, or one of its descendants for Object support. E.g. Generics.Collections.TObjectList<T> with public contains and public AddRange methods as well as OwnsObjects property.