Guide: complex data types

I'm not happy about the hand-waving around `cmp`, but I'm not sure how to get around it.
(To be clear, I understand the/a reason for it, it just might be good to explain them briefly.)