EventuallyMonoid just needs Semigroup[L]