We definitely have some work for a couple of those
I mean we can classify things as
ok, warning, error, …
Atom string, integer, …
predicate, call, function, …
…
But probably this is misleading as you cannot generate a (sensible) color from the color for warning and predicate. So, you probably have to flatten this anyway. You can combine different properties though (foreground, background, underline, bold).
Oh, I see, yes. I think there should be some kind of hierarchy like this, even just for styles. Now that I think of it I didn’t try to do anything like that with my theme. I’m so bad at UX design :0