Also, I'm not quite sure why there's both `Hash` and `StreamHash`. How come we need both?