Merge pull request #1666 from edwinb/universes

Faster universe checking
More partial evaluation improvements

Propagate staticness into where blocks, make constraints on instances
static, and generalise over functions in types to make the partially
evaluated version as general as possible.