def delete(descendant)
      @descendants.delete(descendant)
      each { |d| d.descendants.delete(descendant) }
    end
def delete(descendant)
      @descendants.delete(descendant)
      each { |d| d.descendants.delete(descendant) }
    end
Remove a descendant

 Also removes from all descendants

 @param [Module] descendant

 @return [DescendantSet]
   self

 @api private