Combining the `number_possible?` and `number_valid_and_possible?` methods meant that the possible match regex had to get executed only once each iteration. Since the regexes consume a fair amount of the total time according to ruby_prof, I was able to save the majority of the time here.