Think of Document.Range as the union of all possible ranges in the main document (that is, except for headers, footers, floating material, etc.). It always starts before the first character and ends after the last character (which, in my experience, is always a hidden paragraph mark). It is impossible to define a different range, which after the current Document.Range or, conceptually, "add" something after Document.Range , because there is no "after" Document.Range (it always comes to the end).
Thus, in order to expand the document with new text or other built-in objects, you must insert them at the end of Document.Range - actually to the end, since the last, hidden, paragraph mark should be the final character of the document. This is exactly what you are doing in your pseudo code. In VBA, the empty range at the end of the document can be referenced in
Document.Range(Document.Range.End-1, Document.Range.End-1)
Trying to define it with Document.Range.End actually causes an error, because it points to this last (hidden) character - and this is outside the document - that’s why we need -1.
After receiving this range, we can fill it with things - expanding it and, logically, Document.Range . For example, to add text to the end of the active document, write
ActiveDocument.Range(ActiveDocument.Range.End-1, ActiveDocument.Range.End-1).Text = "New Text"
Note that with the same “final” empty range, you can achieve:
Document.Bookmarks("\EndOfDoc").Range