Guide: complex data types

I'm not happy about the hand-waving around `cmp`, but I'm not sure how to get around it.
I'm just going by what's in the old tutorial. If it's wrong, then no harm, no foul.