better string/tuple subclass hierarchy