Por que não devo usar "with" no Delphi?

Eu ouvi muitos programadores, particularmente os programadores Delphi desprezando o uso de 'with'.

ensei que os programas rodavam mais rápido (apenas uma referência ao objeto pai) e que era mais fácil ler o código se usado com sensatez (menos de uma dúzia de linhas de código e sem aninhamento

Aqui está um exemplo:

procedure TBitmap32.FillRectS(const ARect: TRect; Value: TColor32);
begin
  with ARect do FillRectS(Left, Top, Right, Bottom, Value);
end;

Eu gosto de usarwith. O que há de errado comigo?

questionAnswers(16)

yourAnswerToTheQuestion