Typed Contracts for Functional Programming - Hinze, R; Jeuring, J; Löh, A (Springer Berlin / Heidelberg, 2006)