code: func (BitCurve *BitCurve) Unmarshal(data []byte) (x, y *big.Int) {
  	byteLen := (BitCurve.BitSize + 7) >> 3
  	if len(data) != 1+2*byteLen {
  		return
  	}
  	if data[0] != 4 { // uncompressed form
  		return
  	}
  	x = new(big.Int).SetBytes(data[1 : 1+byteLen])
  	y = new(big.Int).SetBytes(data[1+byteLen:])
  	return
  }
docs: // Unmarshal converts a point, serialised by Marshal, into an x, y pair. On
  // error, x = nil.