<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mute(model: Model):
 """Block a model's views from being notified. All changes within a "mute" context will be blocked. No content is yielded to the user as in :func:`hold`, and the views of the model are never notified that changes took place. Parameters: mode: The model whose change events will be blocked. Examples: The view is never called due to the :func:`mute` context: .. code-block:: python from spectate import mvc l = mvc.List() @mvc.view(l) def raises(events):
 raise ValueError("Events occured!") with mvc.mute(l):
 l.append(1) """

    if not isinstance(model, Model):
        raise TypeError("Expected a Model, not %r." % model)
    restore = model.__dict__.get("_notify_model_views")
    model._notify_model_views = lambda e: None
    try:
        yield
    finally:
        if restore is None:
            del model._notify_model_views
        else:
            model._notify_model_views = restore