class_docstr: A Shrinker object manages a single value and a predicate it should
  satisfy, and attempts to improve it in some direction, making it smaller
  and simpler.
class_docstr_tok: ["A","Shrinker","object","manages","a","single","value","and","a","predicate","it","should","satisfy",",","and","attempts","to","improve","it","in","some","direction",",","making","it","smaller","and","simpler","."]
docstr: Try using ``value`` as a possible candidate improvement.
  
  Return True if it works.
docstr_tok: ["Try","using","``","value","``","as","a","possible","candidate","improvement",".","Return","True","if","it","works","."]
code: def incorporate(self, value):
      """Try using ``value`` as a possible candidate improvement.
  
      Return True if it works.
      """
      value = self.make_immutable(value)
      self.check_invariants(value)
      if not self.left_is_better(value, self.current):
          if value != self.current and (value == value):
              self.debug(
                  "Rejected %r as worse than self.current=%r"
                  % (value, self.current)
              )
          return False
      if value in self.__seen:
          return False
      self.__seen.add(value)
      if self.__predicate(value):
          self.debug("shrinking to %r" % (value,))
          self.changes += 1
          self.current = value
          return True
      return False
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/internal/conjecture/shrinking/common.py
imports: from __future__ import absolute_import, division, print_function
label_desc: Use image node_id 10 for calling the Shrinker obj's underlying member method code with example usage: obj.incorporate(value) and returns: False, False, False, True