You could argue that "Monads end up being used mostly as a vehicle to embed imperative programs", but pattern matching is a different beast. It's a joyful way to program, even for an imperative hacker like me.