[Haskell-cafe] Full strict functor by abusing Haskell exceptions