human
I wrote the below code

    assert isinstance(gradprocs, (list, tuple)), gradprocs
    class _ApplyGradientProcessor(ProxyOptimizer, ):
        def __init__(self, opt, gradprocs):
            self._gradprocs = gradprocs[:]
            super(_ApplyGradientProcessor, self).__init__(opt)
        def apply_gradients(self, grads_and_vars, global_step=None, name=None):
            g = self._apply(grads_and_vars)
            return self._opt.apply_gradients(g, global_step, name)
        def _apply(self, g):
            for proc in self._gradprocs:
                g = proc.process(g)
            return g
    return _ApplyGradientProcessor(opt, gradprocs)

What's a good function header?
 ... Here's a good function header?
assistant
#Here's a good function header.

def apply_grad_processors(opt, gradprocs):