Guide: complex data types

I'm not happy about the hand-waving around `cmp`, but I'm not sure how to get around it.
Eh... I'm not keen on this, as it kind-of makes it sound like immutability is part of the type. Maybe this sentence could clarify that it's talking about values?

(Also, you're using "declaration" differently to the uses in the few paragraphs about: this here is talking about declaration of a name binding, while just above you're talking about the `struct ... { ... }` declaration.)