class_docstr: Records sequences of choices made during shrinking so that we
  can track what parts of a pass has run. Used to create Chooser
  objects that are the main interface that a pass uses to make
  decisions about what to do.
class_docstr_tok: ["Records","sequences","of","choices","made","during","shrinking","so","that","we","can","track","what","parts","of","a","pass","has","run",".","Used","to","create","Chooser","objects","that","are","the","main","interface","that","a","pass","uses","to","make","decisions","about","what","to","do","."]
code: def step(self, prefix, f):
      assert not self.exhausted
      chooser = Chooser(self, prefix)
      try:
          f(chooser)
      except DeadBranch:
          pass
      return chooser.finish()
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/internal/conjecture/choicetree.py
imports: from __future__ import absolute_import, division, print_function
  from collections import defaultdict
  from hypothesis.internal.compat import hrange
label_desc: Use image node_id 3 for calling the ChoiceTree obj's underlying member method code with example usage: obj.step(prefix, f) and returns: chooser