[Haskell-cafe] Shared thunk optimization. Looking to solidify my understanding