I do suppose that my code above is not fool-proof, because not every attr on hashlib is actually a hasher. Hmm. Perhaps we should disregard that.