It could, sort of, but it wouldn't be very well defined. What's the median of an empty list? What are the upper and lower bounds? We could come up with arbitrary answers to these things, and write some special case code to deal with them, but alternatively you could just use the OptionMonoid in cases where you really need a Monoid instead of a Semigroup (I don't feel strongly either way).