I prefer the declarative style of something like
diagrams over Cairo's imperative statefull style. With Cairo I have to keep track of state like the color and the current position and remember to call draw commands. diagrams has a Cairo backend, so I hope to eventually get that hooked up so I could hopefully use diagrams for everything.