def _update_fields(func, name, qualname=None, doc=None, annotations=None,
    defaults=(), kwonlydefaults=None, module=None, **kw):
    """
    Update the signature of func with the provided information

    This method merely exists to remind which field have to be filled.

    :param self:
    :param func:
    :param kw:
    :return:
    """
    func.__name__ = name
    if qualname is not None:
        func.__qualname__ = qualname
    func.__doc__ = doc
    func.__dict__ = kw
    func.__defaults__ = defaults
    if len(kwonlydefaults) == 0:
        kwonlydefaults = None
    func.__kwdefaults__ = kwonlydefaults
    func.__annotations__ = annotations
    func.__module__ = module
