References to free variables not always dereferenced
The program
main = (x, not x) where x free
yields
(Redirect (? False True), True)
(Redirect (? False True), False)
It seems that a free variable, which has been processed but is later instantiated, is not dereferenced (for output only?).