ifconstexpr(std::is_same_v<Tcallback,CommandCallback*const>||// Callback type is CommandCallback.
std::is_same_v<Tcallback,CommandCallbackData*const>||// Callback type is CommandCallbackData.
std::is_same_v<typenameCommandTraits<Tcmd>::CbArgs,typenameCallbackArgsHelper<Tcallback>::Args>||// Callback proc takes all command return values and parameters.
(!std::is_void_v<typenameCommandTraits<Tcmd>::RetTypes>&&std::is_same_v<typenameCallbackArgsHelper<typenameCommandTraits<Tcmd>::RetCallbackProcconst>::Args,typenameCallbackArgsHelper<Tcallback>::Args>)){// Callback return is more than CommandCost and the proc takes all return values.