Hiding the truth (0-based column numbering) from the user is
unhelpful long term. fill-column, comment-column,
set-goal-column, etc. don't believe in the fictional 1-based
numbering. So the users are going to have to deal with the
reality of the 0-based numbering eventually. Whether the current
coordinate system is crocked or not is not relevant. It is
reality and at this point it is immutable without hosing code far
and wide. Best to let the users see the reality and get used to
it.
In my opinion, that is why the start-at-one variable is a bad
idea and should be eliminated.