def initialize *requirements
    requirements = requirements.flatten
    requirements.compact!
    requirements.uniq!

    requirements << ">= 0" if requirements.empty?
    @none = (requirements == ">= 0")
    @requirements = requirements.map! { |r| self.class.parse r }
  end
#
Constructs a requirement from +requirements+. Requirements can be
Strings, Gem::Versions, or Arrays of those. +nil+ and duplicate
requirements are ignored. An empty set of +requirements+ is the
same as <tt>">= 0"</tt>.