# File lib/facet/array/combinations.rb, line 25
  def self.combinations(head, *rest)
    crest = rest.empty? ? [[]] : combinations(*rest)
    head.inject([]) { |combs, item| combs + crest.map { |comb| [item] + comb } }
  end