1. Why functional programming matters;Hughes,1989
2. Debugging Haskell by observing intermediate data structures.;Gill,2000
3. A natural semantics for lazy evaluation;Launchbury,1993
4. Comparing approaches to generic programming in Haskell;Hinze,2007
5. Type generic observing;Faddegon,2014