Tightened up the caching stuff for complex numbers; got the low-lying fruit for CMV out of the way, roughly consistent between both variants