Нее, там куча разных INT'ов. Т.е. ADD_DINT, ADD_UDINT и т.п.
А на пользователя реально нужно выплёвывать все эти ADD_DINT / ADD_UDINT?
По-моему это называется "нам вообще лень придумывать систему типов, давайте пользователь будет указывать тип у каждой конкретной операции".
А потом начинается, когда операции сложения для BIT данных (т.е. для BYTE/WORD/DWORD) в стандарте не определены, а программисты всё равно настырно пытаются использовать DWORD как число.
И фарш провернуть обратно уже невозможно, т.к. уже написана куча кода на этих UDINT'ах и DWORD'ах.
Да и сам компилятор неудобно писать, когда есть такое разнообразие типов данных. По каждому чиху нужно размножать реализации, которые отличаются только разными SINT/UDINT/INT/...