A few counterpoints to this:
- Block IDs can be set manually e.g. ^important or ^instructions , meaning they can serve a semantic purpose.
- Block IDs act as a pseudo-backlink, meaning they reveal that a block has been linked someplace else.
- Links to block IDs don’t (and won’t) get updated automatically when block ID is altered inline. One must right click a block ID and select Rename this block ID… for link(s) to it to get updated.
- Block IDs aren’t visible in reading view.
I do agree though that one should be able to hide them outright if one is so inclined.