def add(uid, obj):
    """add uid to extent; raise ValueError if it is not addable.

        If uid is already a member of the extent, calling add is a no-op,
        except that if the uid and obj are no longer addable to the extent then
        ValueError is still raised (but without removing the uid)"""
