However an optional is really just a list constrained to size 0 or 1. And a future is often called "not truly a monad."
So I question the value of explaining this abstraction in great detail over so many articles when people struggle to come up with more than 1 concrete example of it (Lists), an example that engineers have already understood since our first month coding.
Maybe somebody can speak to this more.