Problém s ftrapv a fwrapv je, že je to globální nastavení
Ale aplikuje se jen na signed typy, takze si muzu udelat:
#define plus(a, b) ({int _a = (a); int _b = (b); _a + _b;})
s tim ze pomoci _Generic to muzu napsat tak, aby to jedno makro umelo i long a long long.
V C++ si muzu udelat custom typ a pretizit operatory.