Editing Attributed Strings (Stanford cs193p)