Turn a generator instance wrapper into a generator function decorator.

The functions named <something>_wrapper accept a generator instance and return a mutated generator instance.

Example of a ‘wrapper’: >>> plan = count([det]) # returns a generator instance >>> revised_plan = some_wrapper(plan) # returns a new instance

Example of a decorator: >>> some_decorator = make_decorator(some_wrapper) # returns decorator >>> customized_count = some_decorator(count) # returns generator func >>> plan = customized_count([det]) # returns a generator instance

This turns a ‘wrapper’ into a decorator, which accepts a generator function and returns a generator function.