Handle decorators and imrpove errors.
still think it would be nice if @pipeline gave you this for free
you have a model for how would that work? how bout cases like ?
The paths i thought of don't have consistent behavior which led me away from them.
I started down that path but theres a lot of cases to check (and py2/3 compat sucks a lot) and those still don't solve for the cases like someone declaring a function as **kwargs and expecting certain args to be present.