This is one example of using intermediate results to make functions calls less cluttered