I'm thankful that I don't think I happen to have made this mistake in production code - out of habit I only ever wrote .Sum(nil).
I'm very surprised to hear this is the case, especially since the Hash documentation says that .Size() returns the number of bytes that .Sum() will return, implying that the number of bytes returned by .Sum() is a constant.
Can anyone explain why I might want this surprising behaviour where Sum(x) prepends bytes x to the hash?
(Obviously, I'm aware this isn't going to change. I'm asking so that I can hang more baubles from my tree of knowledge; not make this mistake in the future and correct other people who might otherwise make the mistake).