update Signature Extras Extractor
Given a function that produces a list of types from an Element due to an ancestor tree node, produce a new function for producing a lists of types that takes this DecisionStep into account. The function also optionally produces the type signature of the element, for reuse by subsequent wrapped functions.
Most DecisionSteps return the original function, but steps that extract subobjects will append an entry to the given list.
Since this function is only used when expanding the lazy LookupTree, the extra effort of repeatedly extracting covariant subobjects from the elements' types won't be a significant ongoing cost.
Parameters
The function to return or wrap.
The number of argument positions that an Element produces, not counting the extras extracted from it.