2017 https://blog.ploeh.dk/2017/10/04/from-design-patterns-to-category-theory/