This is Hook::LexWrap with a small change: instead of getting (@_,
$return) as their parameters,
wrappers get (\@_,
$original,
$return).
This allows you to inject and remove parameters for the wrapped sub,
and to call the original sub from the wrapper.
Both are unsupported in the original.