@keithamus > I don't have the time left in my career to waste learning pseudo-functional paradigms when I could instead pick up actual functional languages like Haskell or Elixir.

React hooks are modelled after Algebraic Effects, not Monads etc from Haskell / Elixir. It’s more niche.

React may or may not be the right way to learn these concepts, but the article is amazing:

overreacted.io/algebraic-effec

(Note: I think generator functions *are* algebraic effects in JS)