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'd never heard of _arity_ before looking at rust. Maybe it's common but...

At least the definition is pretty straightforward.