If both segment handles are `Vector`, changing their type only changes handle behavior, but doesn't add curvature to the segment. For `Vector` segments only one step is designated in the evaluated offsets cache, so `all_bezier_offsets` has to be recalculated. As an optimization, it would be possible to track if there was any `Vector` handle and rebuild topology only when it is needed. Pull Request: https://projects.blender.org/blender/blender/pulls/121292