It is not clear to me how we would construct models for cyclic types
(then, I'm just starting to learn how to do it for acyclic types :-).
That is: What do the domains for these types look like? The reason I'm
worrying about this is that when I do abstract interpretation over
structured datatypes
Now, *there's* an interresting question ...
Personally, as an implementor, I'd vote for the second version,
i.e. I think that future Haskell compilers are more likely to
do away with the thunks than do update in place analysis. Why?
Because if we really want sequentialization of the accesses