code: func newTwistPoint(blob []byte) (*bn256.G2, error) {
  	p := new(bn256.G2)
  	if _, err := p.Unmarshal(blob); err != nil {
  		return nil, err
  	}
  	return p, nil
  }
docs: // newTwistPoint unmarshals a binary blob into a bn256 elliptic curve point,
  // returning it, or an error if the point is invalid.