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".
The Alt documentation says:
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, andNumberare all concrete. The important point here is just to distinguish types of kindTypewith types of kindType -> Type, so I'd suggest just saying that, and avoiding the word "concrete".