Consider updating misleading Alt documentation
The Alt documentation says:
The Alt type class identifies an associative operation on a type constructor. It is similar to Semigroup, except that it applies to types of kind
* -> *, like Array or List, rather than concrete types like String or Number.
I think this is misleading because my understanding of the phrase "concrete type" is that it refers to a specific, named type, as opposed to a type variable. So I would say that Array, List, String, and Number are all concrete. The important point here is just to distinguish types of kind Type with types of kind Type -> Type, so I'd suggest just saying that, and avoiding the word "concrete".
Does this proposal include expanding:
types of kind
* -> *
to:
types of kind
Type -> Type
?
Yes, * is just the old name for Type