1. 2011. Where are all the functional programming design patterns? https://softwareengineering.stackexchange.com/q/89273
2. Typestate-oriented programming
3. Linear Haskell: practical linearity in a higher-order polymorphic language
4. Michael Bevilacqua-Linn. 2013. Functional Programming Patterns in Scala and Clojure. The Pragmatic Bookshelf.
5. Edwin Brady. 2017. Type-Driven Development with Idris. Manning, New York, USA.