"Clowns to the left of me, Jokers to the right" is a paper by Conor McBride about "type dissection", a type transformation on functional data structures such as lists and trees. The resulting type can be used as a building block to construct many things: non-empty lists and trees, list and tree zippers, an undo stack, an undo tree... Along the way we will learn about type-generic programming, and that precise types are about more than just catching mistakes.
Samuel Gélineau is one of the co-organizers of Lambda Montreal. His language of choice is Haskell, which is the language Conor used in his paper and the language Samuel will use in his presentation. Nevertheless, the concepts apply equally well to any functional programming language, and Samuel will be happy to explain any bit of unclear syntax.