Refactored type freshen so that constrained universals are correctly handled.
More tests of existential types