docs: def get_convert_dist(
      dist_units_in: str, dist_units_out: str
  ) -> Callable[[float], float]:
      """
      Return a function of the form
  
        distance in the units ``dist_units_in`` ->
        distance in the units ``dist_units_out``
  
      Only supports distance units in :const:`constants.DIST_UNITS`.
      """
      di, do = dist_units_in, dist_units_out
      DU = cs.DIST_UNITS
      if not (di in DU and do in DU):
          raise ValueError(f"Distance units must lie in {DU}")
  
      d = {
          "ft": {"ft": 1, "m": 0.3048, "mi": 1 / 5280, "km": 0.0003048},
          "m": {"ft": 1 / 0.3048, "m": 1, "mi": 1 / 1609.344, "km": 1 / 1000},
          "mi": {"ft": 5280, "m": 1609.344, "mi": 1, "km": 1.609344},
          "km": {"ft": 1 / 0.0003048, "m": 1000, "mi": 1 / 1.609344, "km": 1},
      }
      return lambda x: d[di][do] * x