Honestly the only real problem with generics and FPC/Lazarus isn't internal errors in my opinion, it's the fact that the internal Lazarus "CodeTools" parser is utterly incapable of dealing with them properly (as in "identifier expected near specialize" and such, ad nauseum), and that for some reason no one seems to think it's worth fixing. (Even though it's a blatant, glaring, constant issue!) FPC itself handles and compiles generics just fine, for the most part.