Guide: complex data types

I'm not happy about the hand-waving around `cmp`, but I'm not sure how to get around it.
It should be an easy change later, so this can put it on the backburner... as long as you remember. :P