The following definitions apply to this Clause:
A call signature is the name of a return type followed by a
parenthesized comma-separated list of zero or more argument types.
A callable type is a
function object type or a pointer to member.
A callable object is an object of a callable type.
A call wrapper type is a type that holds a callable object
and supports a call operation that forwards to that object.
A call wrapper is an object of a call wrapper type.
A target object is the callable object held by a call wrapper.