code: func (vs *Set) IterateValidators(iter func(id crypto.Addressable, power *big.Int) error) error {
  	if vs == nil {
  		return nil
  	}
  	addresses := make(crypto.Addresses, 0, len(vs.powers))
  	for address := range vs.powers {
  		addresses = append(addresses, address)
  	}
  	sort.Sort(addresses)
  	for _, address := range addresses {
  		err := iter(vs.publicKeys[address], new(big.Int).Set(vs.powers[address]))
  		if err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // Iterates over validators sorted by address