generic IList = interface procedure Append(Item: TItem); procedure Append(Item: IList); end;