extend_invoke: add more rationale for generic approach