Note: This post is courtesy of boredom, I guess.
I reviewed the "sublime.py" file, mostly adjusting it to match pep8, add a few "isinstance" checks, removed a typo, added some blank lines to separate (probably similar) constants and removed the call of "sublime_api.settings_get" respectively. Check the revisions for the changes I made, the first commit was the original file.
Edit: Updated magic for Selection class because as it works now there is no way that comparing two Selection instances of the same view construct different lists due to their wrapper nature. The only possibilities that these could differ are 1. that the selection is changed by some other thread between evaluating the two operands and 2. Selection instances of different views. Thus, comparing the view_id attributes seems more accurate/reliable. "lt" cannot really be implemented. "str" can be used to compare older Selection objects with an updated one due to wrapper nature. See also.