The big one that springs to mind, though it's not a Haskell idea, are algebraic effects and effects handler