The online hangout for Göteborg Functional Programming Group and everybody interested.

`Monoid b => Monoid (a -> b)`

we have `HeytingAlgebra b => HeytingAlgebra (a -> b)`

. So you can write e.g. `filter (not (Set.member foo))`

. There's no need for a special function, like `complement`

in Clojure. It also works for `(&&)`

and `(||)`

, so you can have `not (Set.member foo || Set.member bar)`

. I was reminded of this today, and I got reminded of @Jell's post where he pointed out that function monoid implication.