They are specifically handling zero different here. So, after your changes, I believe that 0 will sort after everything even negative numbers. You should fix that up above in the basic sort.