During my year+ of cancer treatments, Embarcadero did a tiny thing that makes [Wayback/Archive]FreeAndNil safer to use. In order to do so, the method now lies to you by taking a const [ref] parameter which technically it is not allowed to change, but the internal hackery allows it to. Dalija Prasnikar explained it in 2020: [Wayback/Archive] Magic behind FreeAndNil.
The new signature is this:
procedure FreeAndNil(const [ref] Obj: TObject); inline;





