Man darf allgemein innnerhalb von öffentlichen Generics nix verwenden, welches nicht öffentlich (lokal) ist.
Alles was du innerhalb des Generics nutzt, das muß auch öffentlich im Interface-Abschnitt deklariert sein.
Also du darfst nix verwenden, welches erst im Implementation-Abschnitt zur Verfügung steht.
Der Grund: Diese generische Methode wird erst da fertig eingebaut, wo sie verwendet wird.
Wenn also in einer anderen
Unit nun
Animator.Add<irgendwas>(...);
aufgerufen wird, dann wird an dieser Stelle diese Funktion, mit diesem Typ erzeugt und von da aus muß nun auf alles genutzte Zugriff bestehn, welches bei lokalen/privaten Dingen nicht der Fall wäre.