def __init__(self, name, filename=None):
        self.name = name
        super(NamedRequirements, self).__init__(filename=filename)
def remove(root, key):
    left, right = split(root, key)
    return merge(left, split(right, key + 1)[1])