code: func (i *IP) UnmarshalBinary(p []byte) error {
  	if len(p) < net.IPv4len {
  		return io.ErrUnexpectedEOF
  	}
  
  	*i = make([]byte, net.IPv4len)
  	copy(*i, p[:net.IPv4len])
  	return nil
  }
docs: // UnmarshalBinary reads the IP address from binary.