code: def classify_coincident(st_vals, coincident):
      r
      if not coincident:
          return None
  
      if st_vals[0, 0] >= st_vals[0, 1] or st_vals[1, 0] >= st_vals[1, 1]:
          return UNUSED_T
  
      else:
          return CLASSIFICATION_T.COINCIDENT
docs: r"""Determine if coincident parameters are "unused".
  
      .. note::
  
         This is a helper for :func:`surface_intersections`.
  
      In the case that ``coincident`` is :data:`True`, then we'll have two
      sets of parameters :math:`(s_1, t_1)` and :math:`(s_2, t_2)`.
  
      If one of :math:`s1 < s2` or :math:`t1 < t2` is not satisfied, the
      coincident segments will be moving in opposite directions, hence don't
      define an interior of an intersection.
  
      .. warning::
  
         In the "coincident" case, this assumes, but doesn't check, that
         ``st_vals`` is ``2 x 2``.
  
      Args:
          st_vals (numpy.ndarray): ``2 X N`` array of intersection parameters.
          coincident (bool): Flag indicating if the intersections are the
              endpoints of coincident segments of two curves.
  
      Returns:
          Optional[.IntersectionClassification]: The classification of the
          intersections.