Some equality tests

@alazier @kspangsege 
Ah, I see. Somehow I had forgotten about `NSLog`. Still, I find it undesirable for an API not to make a clear and crisp distinction between what is allowed, and what is not. Can you explain to me what rule of thumb I should use to decide whether to log a warning or throw an exception?