тип-суммы в си это тебе не хуй на заборе
еще знаешь. оно за исключением неустранимых неудобств препроцессора (длинные названия макросов и отсутствие лямбд-макросов, метапеременных), реализация datatype99 зеркально отображается на правила кодогенерации в README. там 0 грязных трюков