code: func (w *worker) commitUncle(env *environment, uncle *types.Header) error {
  	hash := uncle.Hash()
  	if env.uncles.Contains(hash) {
  		return errors.New("uncle not unique")
  	}
  	if env.header.ParentHash == uncle.ParentHash {
  		return errors.New("uncle is sibling")
  	}
  	if !env.ancestors.Contains(uncle.ParentHash) {
  		return errors.New("uncle's parent unknown")
  	}
  	if env.family.Contains(hash) {
  		return errors.New("uncle already included")
  	}
  	env.uncles.Add(uncle.Hash())
  	return nil
  }
docs: // commitUncle adds the given block to uncle block set, returns error if failed to add.