I had some passing thoughts about Arrow hierarchy along the lines of... (from memory a while ago...)
ROArrow is normally associated with a single ROLine between two points, and is oriented to the direction of that line based on the line end points.
ROOrthoVerticalLineShape & ROOrthoHorizontalLineShape were introduced, made up of three segments, but ROArrow looked skewed since it was still drawn relative to the two end points.
ROHorizontalArrow and ROVerticalArrow were added make nice arrows for the Ortho-Lines, however over time I started thinking these might be eliminated it ROArrow could be drawn relative to the end-point of each end-segment, rather than the end points of the overall line. ...but I hadn't had a chance to look into that further.
Yes, you're right. ROHorizontalArrow and ROVerticalArrow should probably be eliminated if edges are better handled.
Alexandre