What is the purpose of Label___dope appearing in my converted code? And more generally anything “dope”?
In Ada, the bounds of an array (the 'First and 'Last) are generally passed as a separate argument. This argument is traditionally called the array "dope" or array "dope vector" (e.g. see https://en.wikipedia.org/wiki/Dope_vector).