···1010 def inspect = "_Constraint(#{inspect_constraints})"
11111212 def ===(value)
1313- @object_constraints.all? { |t| t === value } &&
1414- @property_constraints.all? { |a, t| t === value.public_send(a) }
1313+ i, len = 0, @object_constraints.size
1414+ while i < len
1515+ return false unless @object_constraints[i] === value
1616+ i += 1
1717+ end
1818+1919+ @property_constraints.each do |a, t|
2020+ return false unless t === value.public_send(a)
2121+ end
2222+2323+ true
1524 end
16251726 private