code: func (s *Series4h) MarshalBinary() ([]byte, error) {
  	buf := new(bytes.Buffer)
  	em := &errMarshal{w: buf}
  	em.write(s.T0)
  	em.write(s.leading)
  	em.write(s.t)
  	em.write(s.tDelta)
  	em.write(s.trailing)
  	em.write(s.val)
  	bStream, err := s.bw.MarshalBinary()
  	if err != nil {
  		return nil, err
  	}
  	em.write(bStream)
  	if em.err != nil {
  		return nil, em.err
  	}
  	return buf.Bytes(), nil
  }
docs: // MarshalBinary implements the encoding.BinaryMarshaler interface