code: func (tx *Tx) ForEach(fn func(name []byte, b *Bucket) error) error {
  	return tx.root.ForEach(func(k, v []byte) error {
  		if err := fn(k, tx.root.Bucket(k)); err != nil {
  			return err
  		}
  		return nil
  	})
  }
docs: // ForEach executes a function for each bucket in the root.
  // If the provided function returns an error then the iteration is stopped and
  // the error is returned to the caller.