Ideally this function should only be called when +ML changes and the value cached. Thus the frequency of calling is statistically zero. Therefore clairity should trump speed. If you wanted to be anal, a simple speed up would be to convert it into divide and conq form. But even that make the...