Advanced Functional Programming - Kanade, Takeo; Uustalu, Tarmo; Vene, Varmo; Kittler, Josef (Springer Berlin / Heidelberg, 2005)