https://golang.org/src/net/http/server.go#L139
I would've expected the signature to be Write([]byte) error, not Write([]byte) (int, error). I also can't find any good explanation from looking through usages, and the documentation comment doesn't explain the return values.
What does the returned int mean?