Convert many examples to java backend

**do not review yet**
If you do not include the smtlib lemma that I include here, the unification rewriter does not know that it can not unify T1 -> T2 = T1, and it keeps going past the point it should get stuck, outputting a single variable as the typed result of typing polymorphic-identity-2-fails.