A couple of things.
I think that trim should be trim to a line because as it stands it's just erase. Erase is a good and useful feature however I think it should be a separate command or even better an extension of trim but not the first operation. Erase doesn't let you trim through multiple lines in one go which is what it should do.
Secondly I think offset should not join lines because it's doing something extra which might not be required. It should just do what it says and nothing extra.