code: def update_options(self, kwargs_model, kwargs_constraints, kwargs_likelihood):
          
          kwargs_model_updated = self.kwargs_model.update(kwargs_model)
          kwargs_constraints_updated = self.kwargs_constraints.update(kwargs_constraints)
          kwargs_likelihood_updated = self.kwargs_likelihood.update(kwargs_likelihood)
          return kwargs_model_updated, kwargs_constraints_updated, kwargs_likelihood_updated
docs: updates the options by overwriting the kwargs with the new ones being added/changed
          WARNING: some updates may not be valid depending on the model options. Use carefully!
  
          :param kwargs_model:
          :param kwargs_constraints:
          :param kwargs_likelihood:
          :return: