code: func (s *Slice) readFrom(r io.Reader) error {
  	er := errorReader{r: r}
  	s.refID = er.itf8()
  	s.start = er.itf8()
  	s.span = er.itf8()
  	s.nRec = er.itf8()
  	s.recCount = er.ltf8()
  	s.blocks = er.itf8()
  	s.blockIDs = er.itf8slice()
  	s.embeddedRefID = er.itf8()
  	_, err := io.ReadFull(&er, s.md5sum[:])
  	if err != nil {
  		return err
  	}
  	s.tags, err = ioutil.ReadAll(&er)
  	return err
  }
docs: // readFrom populates a Slice from the given io.Reader.