Tell me what is the difference

Tell me what is the difference


var
  Results: TObjectList<TCustomer>;
begin
  Results := Manager1.Find<TCustomer>
    .Add(Linq['Name'] = 'Mia Rosenbaum')
    .List;

and

var
  Results: TList<TCustomer>;
begin
  Results := Manager1.Find<TCustomer>
    .Add(Linq['Name'] = 'Mia Rosenbaum')
    .List;

in one case it works and in the second case it works too! Tell me when to use this or that design correctly?

There is no difference, Manager.List returns a TObjectList<T> which inherits from TList<T>.