code: def _set_type(self, value):
          
          point = self._point
          # convert corner to curve
          if value == "curve" and point.type == "line":
              # This needs to insert off curves without
              # generating unnecessary points in the
              # following segment. The segment object
              # implements this logic, so delegate the
              # change to the corresponding segment.
              segment = self._segment
              segment.type = "curve"
              segment.smooth = True
          # convert curve to corner
          elif value == "corner" and point.type == "curve":
              point.smooth = False
docs: Subclasses may override this method.