Thanks for the help!
They should be strings, sure. So I have fixed that, but that doesn't change the original problem:
The error output from `error(hotspot[get(i)].tag);` shows
"ERROR: hotspot[get(i)].tag" instead of:
"ERROR: <actual tag name>".
And to be clear, it is inconsistent. There are 10 + hotspots and some show the correct name, and some show "hotspot[get(i)].tag" instead.
Tags such as "photo" and "text" print correctly. Tags "vr" do not. I even tried changing the tag to a nonsense string in case "vr" has some special meaning. I still get inconsistent output from the error debug statements.