Trying to live without generics in Delphi