Behavioral Design Patterns (part 2)
• Observer ≡ channels, FRP
• State ≡ state monad
• Strategy ≡ first class functions, functor
• Template method ≡ higher order functions, type class default functions
• Visitor ≡ Foldable, but more generically: type classes