reduce the number of add/shifts. this algorithm is clearly not best.
extract number_at, to limit the dependency to @board
col, row is shorter than col_index, row_index
hide @board dependency
extracted same? and double_number!
use double_number!
extracted possible_to_sum?
extracted and reused sum!
simplified the if
col, row was very low-level, let's start using locations