code: def add_edge_end_unused(intersection, duplicates, intersections):
      
      found = None
      for other in intersections:
          if (
              intersection.index_first == other.index_first
              and intersection.index_second == other.index_second
          ):
              if intersection.s == 0.0 and other.s == 0.0:
                  found = other
                  break
  
              if intersection.t == 0.0 and other.t == 0.0:
                  found = other
                  break
  
      if found is not None:
          intersections.remove(found)
          duplicates.append(found)
      intersections.append(intersection)
docs: Add intersection that is ``COINCIDENT_UNUSED`` but on an edge end.
  
      This is a helper for :func:`~._surface_intersection.add_intersection`.
      It assumes that
  
      * ``intersection`` will have at least one of ``s == 0.0`` or ``t == 0.0``
      * A "misclassified" intersection in ``intersections`` that matches
        ``intersection`` will be the "same" if it matches both ``index_first``
        and ``index_second`` and if it matches the start index exactly
  
      Args:
          intersection (.Intersection): An intersection to be added.
          duplicates (List[.Intersection]): List of duplicate intersections.
          intersections (List[.Intersection]): List of "accepted" (i.e.
              non-duplicate) intersections.