La expresión (map filter ps) aplica filter a cada elemento de la lista ps, por lo que te quedaría:
[ filter (const True,) filter (< 2), filter (> 3) ]
El comportamiento que pusiste vos, se daría si tuviéramos (map (filter ps)), pero como la aplicación asocia a la izquierda, entonces en realidad tenemos ((map filter) ps).
[ filter (const True,) filter (< 2), filter (> 3) ]
El comportamiento que pusiste vos, se daría si tuviéramos (map (filter ps)), pero como la aplicación asocia a la izquierda, entonces en realidad tenemos ((map filter) ps).