code: def acquire(self):
      
      self.parent.__set__(self.instance, self.parent.state + 1)
      try:
        yield
      finally:
        self.parent.__set__(self.instance, self.parent.state - 1)
docs: Assuming that the current state is an integer (it defaults to
      zero), increment it for the duration of the body of the with
      statement.