`max_align_t' is C11 and the union goes into every unit, so a program with no closure in it stopped building under -std=c99. `unify' also bound a rigid variable one way round only.
The type IR, unification with the unknown type, constraints and schemes, built and tested on its own. Nothing calls it yet.