These implementations aren't consistent. It seems like one is meant to give you a reasonable default for chaining to the other, but one implementation hashes and the other doesn't.