I unfortunately have several macros left over from the original version of my library that employed some pretty crazy C. In particular, I have a series of macros that expect
I found this to be the cleanest, using @UncleBens suggestion:
#include static_assert(std::is_same::value, "retval must be bool");