This is a bit confusing, but there is no one Object Pascal language. There are different dialects under the broad term Object Pascal.
I don't know the Object Pascal landscape fully, but Turbo Pascal, Delphi and FreePascal are three different dialects of Object Pascal, and do things differently. Generics is just one of the examples. Another one is Management Operators, Operator Overloading, or simply that in FreePascal you take function pointer with @ while in Delphi no Operator is needed.
These are just things one has to learn.