Our conditional writes in the runtime look like this:
if (active) *ptr = value;
In the RAII we need to assign ptr which comes from a lookup call.
If a thread that is not the main thread calls lookup with the intention
to write the pointer, we'll create a new thread state. As such, we need
to avoid calling lookup for inactive threads. We used to use nullptr
as their ptr value but that can cause pessimistic reasoning. We now
use undef instead.