O livro Design Patterns foi publicado em 1994 e influencia fortemente a forma com que escrevemos software. Essa grande influência é resultado direto da qualidade do livro, mas também pelo contexto da popularização das linguagens orientadas a objeto e imperativas. Em 2010, eu fiz uma apresentação que demonstrava a tendência das principais linguagens evoluirem para incorporar conceitos de programação funcional. Hoje em dia isso já não é uma mera tendência, é uma realidade. As linguagens de programação mais populares já são orientadas a objetos, imperativas e funcionais. Agora que isso já faz parte da nossa realidade, vamos descobrir rapidamente que boa parte dos padrões de projeto adotados popularmente, podem ser refeitos com melhor qualidade e simplicidade. Temos que reescrever nossos catálogos de padrões. Na segunda parte da apresentação, com forma de exemplificar essa teoria, falo sobre Monads, um dos padrões funcionais, e demonstro que como ele já está sendo usado em várias partes das bibliotecas padrão das principais linguagens.