Beim Zugriff auf Objekte und Variablen gibt es immer wieder kleine Pitfalls. Manchmal ist das Objekt leer, wir lesen aber eine Property daraus und bekommen dann natürlich cannot read property 'x' of undefined. Einige dieser Pitfalls sind: Der Wert könnte oder könnte nicht existieren Der Wert könnte existieren, aber es gibt mehr als einen Um den Wert zu bekommen sind I/O Operationen notwendig Der Wert könnte eventuell in der Zukunft existieren Der Wert könnte einen Fehler produzieren Der Wert hängt von einem State ausserhalb ab … Ein Monad verhält sich wie ein Container der dieses Verhalten abstrahiert und uns die Möglichkeit gibt uns mehr auf das zu fokussieren was wir wirklich tun wollen: Mit den Werten arbeiten.