Is there an easy way to sort a list of maps by some key, but if those keys are equal, be able to specify another key (and again if equal, another key, and so on)?
No, this will sort that list: [{false, false},{false, false},{false, false},{false, false}].
You can just reverse the list. If you want to sort by ascending name but descending color you will have to compute a score or something like that, like mapping colors to integers and multiply them by -1 to get descending order.
I meant for sort_by when you need to sort by multiple values but some should be by asc, other’s by desc. The control of that is not built in, the ! negation does not work but - does, at least for numbers.
At that point I think it makes sense to use a custom compare function, instead of trying to come up with some intermediary, which happens to be sorted correctly without one.