Essentially you want to check if types of two functions are the same:
std::is_same_v<decltype(funA), decltype(funB)>
I wouldn’t call this ‘comparing signatures’, as, if I remember correctly, return type is not a part of a signature (because it doesn’t affect overload resolution).