This is a very frequent pattern throughout my code:
SetLength(SomeDynamicArray, Length(SomeDynamicArray)+1); SomeDynamicArray[High(SomeDynamicArray)] := NewE
There is handy Insert procedure, that you can use like this:
Insert([NewElement], SomeDynamicArray, High(SomeDynamicArray));