Why is this not just `post(self, messages, ignore_empty=False, instantiate=True, raw=False, **kwargs)`? Why the `**kwargs` filtering?