This doesn't have a dependency on the class so it can be moved out entirely making the until call slightly simpler. Also in non Python-3 land functions in classes and general functions have slightly different behaviours. It doesn't matter here, but when we're doing dynamic programming stuff I'd like to avoid unexpected stuff.