> Do some of the points such as the need for shared or weak qualifiers make any > sense or are of any use?
I consider `shared` a dead-end for modular program construction: Say you have a library like `json.nim` that needs to allocate: Should these allocations be thread-local? Then you cannot use it across threads easily, inflexible. Should it use shared allocations? Then the very common single threaded case becomes slower.
