What if `Sudoku::FileParser#parse_rows` returned a `Sudoku::Puzzle` object rather than an array of arrays? That would eliminate this intermediate state. Thoughts?