Let vars  in terms of others without blowing stack
Merge branch 'feature/redefine-in-terms-of-existing'