A problem with order of evaluation

Data flow graphs do not capture causal information:
let r:ref = ref(0); let r:ref = ref(0);
r := 1; let x:int = !(r);
let x:int = !(r); r := 1;
return x; return x;

These graphs are isomorphic, but the programs have different semantics.