Partially defined names should not reduce at compile-time

This has been the spec for a long time, but wasn't implemented fully since
the totality checker wasn't strong enough to find some obviously total
things. This is now switched on --- functions are checked for totality
after every mutual block, or every individual function (if not mutual).