-#define typesafe_cb_const(rtype, fn, arg) \
- sizeof((fn)((const void *)0)), \
- cast_if_type(rtype (*)(const void *), \
- (fn), (fn)(arg), rtype (*)(typeof(arg)))
+#define typesafe_cb_const(rtype, fn, arg) \
+ cast_if_type(rtype (*)(const void *), (fn), (fn)(arg), rtype)