Micha Kops: Aspects of Functional Programming in Java