title: Which lists could serve as temporary lists?
body: <p>When working with lists of items where the lists just serve as a <em>temporary</em> container - which list types would you recommend me to use? </p>
  
  <p>I </p>
  
  <ul>
  <li>don't want to destroy the list manually </li>
  <li>would like to use a <strong>built-in</strong> list type (no frameworks, libraries, ...)</li>
  <li>want generics</li>
  </ul>
  
  <p>Something which would make this possible without causing leaks:</p>
  
  <pre><code>function GetListWithItems: ISomeList;
  begin
    Result := TSomeList.Create;
    // add items to list
  end;
  
  var
    Item: TSomeType;
  begin
    for Item in GetListWithItems do
    begin
      // do something
    end;
  end;
  </code></pre>
  
  <p>What options do I have? This is about Delphi 2009 but for the sake of knowledge please also mention if there is something new in this regard in 2010+.</p>