Gjenerikët ju lejojnë të shkruani kod të ripërdorshëm të parametrizuar nga një lloj — një "ndryshore lloji" e plotësuar kur kodi përdoret. Ata ju japin ripërdorim pa humbur sigurinë e llojit (alternativa, any, e humben atë).
(): { arr[]; }
first<T>(: T[]): T { arr[]; }
n = ([, , ]);
s = ([, ]);
