  Finding a few solutions for a given problem that are diverse, as opposed to
finding a single best solution to solve the problem, has recently become a
notable topic in theoretical computer science. Recently, Baste, Fellows,
Jaffke, Masa\v{r}\'ik, Oliveira, Philip, and Rosamond showed that under a
standard structural parameterization by treewidth, one can find a set of
diverse solutions for many problems with only a very small additional cost
[Artificial Intelligence 2022]. In this paper, we investigate a much stronger
graph parameter, the cliquewidth, which can additionally describe some dense
graph classes. Broadly speaking, it describes graphs that can be recursively
constructed by a few operations defined on graphs whose vertices are divided
into a bounded number of groups while each such group behaves uniformly with
respect to any operation.
  We show that for any vertex problem, if we are given a dynamic program
solving that problem on cliquewidth decomposition, we can modify it to produce
a few solutions that are as diverse as possible with as little overhead as in
the above-mentioned treewidth paper. As a consequence, we prove that a diverse
version of any MSO$_1$ expressible problem can be solved in FPT time
parameterized by cliquewidth, the number of sought solutions, and the number of
quantifiers in the formula. That was an important missing piece in the
complexity landscape of structural graph parameters and logic. We prove our
results allowing for a more general natural collection of diversity functions
compared to only two mostly studied diversity functions previously. That might
be of independent interest as a larger pool of different diversity functions
can highlight various aspects of different solutions to a problem.
