It’s an interesting idea, but it can have possible problems if users do not read source code so if someone would call this method without a parameter and his first column is not a checkbox column he would not get the result he intended.
Info2: you changed to find() instead of children(), note that find is searching all nodes while children is searching only the first level child nodes, so children() is used because any grid cell can in addition contain another TABLE
You don’t need to update the function, that was not the point, I just wanted to explain to you why those where used
The point is (as I wrote before) if this change is needed at all. The developer needs to know his column ID, and if a column ID is not sent (the developer forgot to put it as a parameter) the return value could be wrong like first column checked instead of the desired one, or nothing if the first column is not a checkbox column.