code: def is_smooth_from(self, previous):
          
          if isinstance(previous, CubicBezier):
              return (self.start == previous.end and
                      (self.control1 - self.start) == (previous.end - previous.control2))
          else:
              return self.control1 == self.start
docs: Checks if this segment would be a smooth segment following the previous