I did actually consider this, but the convenience of a namedtuple is outweighed by the inconvenience of not being able to construct the namedtuple piece-meal within the loop i.e. you can only instantiate the namedtuple once *both* the x-step and y-step have been calculated.