# File lib/core/facets/array/occur.rb, line 18
  def occur(n=nil) #:yield:
    h = Hash.new(0)

    each do |i|
      h[i] += 1
    end

    case n
    when nil
      h.delete_if{ |_,v| ! yield(v) }.keys
    when Range
      h.delete_if{ |_,v| ! n.include?(v) }.keys
    else
      h.delete_if{|_,v| v != n}.keys
    end
  end