Datatype-Generic Programming - Backhouse, Roland (Springer Berlin Heidelberg, 2020)