code: def to_best_int_float(val):
      
      integer = int(float(val))
      flt = float(val)
      # If the f is a .0 value,
      # best match is int
      if integer == flt:
          return integer
      return flt
docs: Get best type for value between int and float
  
      :param val: value
      :type val:
      :return: int(float(val)) if int(float(val)) == float(val), else float(val)
      :rtype: int | float
  
      >>> to_best_int_float("20.1")
      20.1
  
      >>> to_best_int_float("20.0")
      20
  
      >>> to_best_int_float("20")
      20