Right off the bat, the problem is that filter p . map f looks like it wants to be filter, then map. Nearly all modern languages that have pipelining, whereby nested function calls are extraposed into a linear formm, go left to right.
In the Lisp or Python, it is crystal clear that the entire map expression is a constituent of the filter expression.
In the Lisp or Python, it is crystal clear that the entire map expression is a constituent of the filter expression.