Advanced Functional Programming (Springer Berlin Heidelberg, 2020)