In this particular case it is possible, cos OP wants type helper for specific specialized generic type.
But, is it possible to actually make helper for generic type? AFAIK no.
It would be very useful, example:
You have String, WideString, and other strings eg UnicodeString. Currently you need to create multiple type helpers with the same exact code for all of them.
You could write one code for all String types and create specialized helper types, like:
type
generic StrHelper<T> = type helper for T
function padLeft(len: dword; padchar: char): T;
//...many more functions that would do the same for each type
end;
StringHelper = specialize StrHelper<String>;
WideHelper = specialize StrHelper<WideString>;
UnicodeHelper = specialize StrHelper<UnicodeString>;
function StrHelper.padLeft(len: dword; padchar: char): T;
begin
end;
I have checked how its done in SysUtils in syshelp.inc:
{$define TStringHelper:=TAnsiStringHelper}
{$i syshelps.inc}
{$define TStringHelper:=TWideStringHelper}
{$i syshelps.inc}
{$define TStringHelper:=TUnicodeStringHelper}
{$i syshelps.inc}
Clever, but generic helpers would help a lot.