Update the values and do_app in the ILs

Truly horrible cut and pasting. I only see two ways around it:
- use a sed-like script to automatically generate each do_app function
  :(
- Include several different kinds of closures in the semantics' value
  type, and 3 different Conv constructors, basically putting the union
  of all IL values right up front. Then define predicates about which
  values can actually show up at any phase. This might be even worse
  than the status quo.