docs: def check(self, state, when):
          """
          Checks state `state` to see if the breakpoint should fire.
  
          :param state:   The state.
          :param when:    Whether the check is happening before or after the event.
          :return:        A boolean representing whether the checkpoint should fire.
          """
          ok = self.enabled and (when == self.when or self.when == BP_BOTH)
          if not ok:
              return ok
          l.debug("... after enabled and when: %s", ok)
  
          for a in [ _ for _ in self.kwargs if not _.endswith("_unique") ]:
              current_expr = getattr(state.inspect, a)
              needed = self.kwargs.get(a, None)
  
              l.debug("... checking condition %s", a)
  
              if current_expr is None and needed is None:
                  l.debug("...... both None, True")
                  c_ok = True
              elif current_expr is not None and needed is not None:
                  if state.solver.solution(current_expr, needed):
                      l.debug("...... is_solution!")
                      c_ok = True
                  else:
                      l.debug("...... not solution...")
                      c_ok = False
  
                  if c_ok and self.kwargs.get(a+'_unique', True):
                      l.debug("...... checking uniqueness")
                      if not state.solver.unique(current_expr):
                          l.debug("...... not unique")
                          c_ok = False
              else:
                  l.debug("...... one None, False")
                  c_ok = False
  
              ok = ok and c_ok
              if not ok:
                  return ok
              l.debug("... after condition %s: %s", a, ok)
  
          ok = ok and (self.condition is None or self.condition(state))
          l.debug("... after condition func: %s", ok)
          return ok