Michael Feathers’s Type Driven Approach to Functional Design is a perfectly-sized 20 minute talk on how to think about solving design problems in a functional way.
It demonstrates how to uses haskell type system way of defining functions to help in finding a solution to problems (specialy in a functional way) he uses Line Breaking algorithm as an example.