attempted progress on prog_to_i2_correct

starting to think it could be false because the semantics doesn't seem
to check for duplicate type definitions across a whole program before it
has a chance to escape with an exception