Monad
In plain terms
A functional pattern for chaining computations that carry extra context.
Going deeper
A monad wraps values with context (like possible failure, async, or state) and provides a way to sequence operations on them cleanly. It structures effectful code in pure languages.
Under the hood
Defined by bind (flatMap) and return; common monads handle nullability (Maybe), errors (Either), and async (Promise-like).
Examples
Haskell Maybe/IO, JavaScript Promises, Optional chaining, Either types.
Think of it like...
Like an assembly line of boxes where each station opens the box, works on the contents, and reboxes for the next.