PROCESS PROPERTIES, Process State, and Preemptive?

I’ve noticed that Process State is NOT a Preemptive safe command: but PROCESS PROPERTIES is.

Does PROCESS PROPERTIES really work then in a Preemptive thread? and specifically, can it get the process state of another process?

If so, why would 4D not also make Process State Preemptive thread safe?

as of v17, I find Get process activity.processes.query(…) to be most practical.

having been designed after preemptive mode,
I think it would be reasonable to expect this new command
to be written (i.e. not patched) specifically for preemptive mode.

it would be convenient if more existing commands such as Process state were thread safe,
but then, when there is a preemptive alternative,
I think it’s a sign that we’d be better to just use them instead,
perhaps via a wrapper.