'Add another edge, in the form of a (requirer, required) tuple.'

def __iadd__(self, edge):

    (requirer, required) = edge
    if (required is None):
        self._graph[requirer]
    else:
        self._graph[required].required_by(requirer)
        self._graph[requirer].requires(required)
    return self
