流石に限界

寝るか…
Python3は諦めよう。文字列まわりが地味に変わってて真面目に調べないとわからん。

文字列まわりでギャーてなることが多いのは、バイト列に対するイテレーションの戦略とバイト列オブジェクトが密結合してるのが問題であって、これこそ操作とデータ構造が密結合しちゃうOOPの問題であると言えると思う。
http://d.hatena.ne.jp/tanakmura/20090620#1245478831
あるひとつのバイト列に対して、UTF-8的なイテレーションと、単純なバイト単位のイテレーションの両方が必要になるという場面はあるはず。
バイト列とイテレーション戦略は

  • 疎結合できる言語にして
  • 標準ライブラリはそれの良い例になるように努めること

つっても、C++STLのとおりにやればよいというだけ。