Convert many examples to java backend

**do not review yet**
I still think that it would be nice and instructive to have a version of a type system where the designer makes calls to the unifier explicitly.  This way people will understand it better and understand the magic underlying the narrowing-based method.