def METHOD_NAME(model):
    """Mutable parameters in signatures are discouraged, as explained in
    https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments
    We enforce immutable parameters by only allowing a certain list of basic types.
    """
    allowed = (type(None), float, int, tuple, str, bool, type)
    for param in inspect.signature(model.__class__).parameters.values():
        assert param.default is inspect._empty or isinstance(param.default, allowed)