code: func (f *FileName) UnmarshalBinary(data []byte) error {
  	buf := bytes.NewBuffer(data)
  
  	_ = binary.Read(buf, binary.LittleEndian, &f.Length)
  
  	f.Name = string(buf.Next(int(f.Length)))
  
  	return nil
  }
docs: // UnmarshalBinary implements the encoding.BinaryUnmarshaler interface