I would agree with === being more useful than <= , as case , all? , grep , and other methods use it implicitly.

This would be an amazing addition for Ruby, and would bring us closer to pattern matching syntax.

The great part about this is your implementation uses === to compare values as well. This makes it very flexible, and extremely useful.

Aside / Offtopic

This may be unrelated, and if so feel free to tell me to open another issue, but what if it worked on Objects:

Person = Struct.new(:id, :name, :age) people = [{:id=>1, :name=>"Homu", :age=>13}, {:id=>2, :name=>"mami", :age=>14}].map { |p| Person.new(*p.values) } people.grep(age: 10..13) # => [#<struct Person id=1, name="Homu", age=13>]