Compares two Structs first by Struct.arity, then by Struct.functor, then argument-wise, left to right.