docs: def remove(self, value, _sa_initiator=None):
          """Remove an item by value, consulting the keyfunc for the key."""
  
          key = self.keyfunc(value)
          # Let self[key] raise if key is not in this collection
          # testlib.pragma exempt:__ne__
          if not self.__contains__(key) or value not in self[key]:
              raise sa_exc.InvalidRequestError(
                  "Can not remove '%s': collection holds '%s' for key '%s'. "
                  "Possible cause: is the MappedCollection key function "
                  "based on mutable properties or properties that only obtain "
                  "values after flush?" %
                  (value, self[key], key))
          self.__getitem__(key, _sa_initiator).remove(value)