code: def _isCompatible(self, other, reporter):
          
          segment1 = self
          segment2 = other
          # type
          if segment1.type != segment2.type:
              # line <-> curve can be converted
              if set((segment1.type, segment2.type)) != set(("curve", "line")):
                  reporter.typeDifference = True
                  reporter.fatal = True
docs: This is the environment implementation of
          :meth:`BaseSegment.isCompatible`.
  
          Subclasses may override this method.