code: def is_fringe(self, connections=None):
          
          if connections is None:
              return self.is_fringe(self._incoming) or self.is_fringe(self._outgoing)
          else:
              cons = sum([c for c in connections.values()], [])
              return len([c for c in cons if c._direction != Connection.LINKDIR_TURN]) == 0
docs: true if this edge has no incoming or no outgoing connections (except turnarounds)
             If connections is given, only those connections are considered