Apparently every design now is a "tool library" of its own, such that when you select a tool from an actual tool library, it silently gets copied into the design and then has no knowledge of where it came from. I find this behavior very unintuitive.
Wouldn't it be better if selecting a tool from the tool library linked that tool, such that any subsequent changes to the tool in the library were reflected in the designs that use it?
After all, that's how it works in real life: I have a repository of tools. When I go to use one of them, I can only take one from the repository. Me intending to use a tool in a job doesn't magically give me a new copy of the tool that only exists for that job.
Of course, there are operation-specific aspects like feed rate where the tool library is more like a suggestion, but those aren't really properties of the tool itself. And maybe it should be possible to override parameters if, for example, you need to change stickout. But those should be applied "on top" of the source tool in the library, not give rise to a completely independent copy of the tool.
There's this maxim in software engineering that you never want to duplicate code, you put it in a function and call that function. If you don't, you'll be left with a maintenance nightmare because if you now want to change that code, you have to find all the copies and make sure you change them all. I feel this is exactly how the current tool library fails. All your designs are littered with copies of the same tools and if e.g. a tool is moved to another offset number, there is no way to find and change them all.