These can just return an integer, since there's no longer a 'union' containing signed and unsigned types.

The only difference between relative or not is if snapToLines() is true