[Haskell-cafe] Optimizing unamb by determining the "state" of a thunk?