Guide: complex data types

I'm not happy about the hand-waving around `cmp`, but I'm not sure how to get around it.
If the arity and types don't match, you can't use `==` at all.