def METHOD_NAME(self, assignment: Assignment) -> None:
    """
    Registers an Assignment in _positive or _negative.
    """
    name = assignment.dependency.complete_name
    old_positive = self._positive.get(name)
    if old_positive is not None:
        value = old_positive.intersect(assignment)
        assert value is not None
        self._positive[name] = value
        return
    old_negative = self._negative.get(name)
    term = (
        assignment if old_negative is None else assignment.intersect(old_negative)
    )
    assert term is not None
    if term.is_positive():
        if name in self._negative:
            del self._negative[name]
        self._positive[name] = term
    else:
        self._negative[name] = term