Is this only about contracts? If so, then I wouldn't use units for that -- it'll just make everything worse.

We could probably just use more files -- `Univ` and `Bottom` are both simple.