“It’s difficult to do A given B”
As a user I don’t care about B. I just want A.
For your example, the concept of explicit pointers are orthogonal to threads. That’s why you can have OS threads with explicit pointers.
Just because it’s difficult to make them work together doesn’t mean they are incompatible as concepts.
It’s still an implementation detail.
For example, during Win95 one could argue it’s impossible for a crash program not to crash the whole system.
As a user I don’t care what’s going under the hood. I just don’t like it when my Windows 95 app can crash the system. It is an implementation detail
“It’s difficult to do A given B”
As a user I don’t care about B. I just want A.
For your example, the concept of explicit pointers are orthogonal to threads. That’s why you can have OS threads with explicit pointers.
Just because it’s difficult to make them work together doesn’t mean they are incompatible as concepts.
It’s still an implementation detail.
For example, during Win95 one could argue it’s impossible for a crash program not to crash the whole system.
As a user I don’t care what’s going under the hood. I just don’t like it when my Windows 95 app can crash the system. It is an implementation detail