[Haskell-cafe] Why does shift's function return result in Cont and reset reinsert result into Cont again?