code: func (c *Cursor) Set(pos *Position) error {
  	if pos == nil {
  		return errors.New("invalid position")
  	}
  	pi := -1
  	for i, p := range c.ps {
  		if p.Equal(&pos.Prefix) {
  			pi = i
  			break
  		}
  	}
  	if pi == -1 || !c.ps[pi].IPNet.Contains(pos.IP) {
  		return errors.New("position out of range")
  	}
  	c.set(pi, pos.IP.To16())
  	return nil
  }
docs: // Set sets the current position on c to pos.