I am collecting examples of join semilattices amongst Semigroup
instances. As you may know join semilattice is similar to semigroup but requires additionally commutativity and idempotence. From the quick scan of the libraries on hackage I found the following examples:
Data.Semigroup.Max
Data.Semigroup.All
Data.Semigroup.Any
Data.Map.Append.AppendMap
I'm curious whether you came across any other (interesting and useful) join semilattices examples in Haskell libraries?