code: func ReadBinary(r io.Reader, order binary.ByteOrder, data interface{}) (n int, err error) {
  	countingReader := CountingReader{Reader: r}
  	err = binary.Read(&countingReader, order, data)
  	return countingReader.BytesRead, err
  }
docs: // ReadBinary wraps binary.Read with a CountingReader and returns
  // the acutal bytes read by it.