def extra(self, **kw):
        new = self._clone()
        actions = ['values_list', 'values_dict', 'order_by', 'query',
                   'filter', 'facet']
        for key, vals in kw.items():
            assert key in actions
            if hasattr(vals, 'items'):
                new.steps.append((key, vals.items()))
            else:
                new.steps.append((key, vals))
        return new
Return a new S instance with extra args combined with existing
dataset/ETHPy150Open mozilla/elasticutils/elasticutils/__init__.py/S.extra