code: def less(a, b, *args):
      
      types = set([type(a), type(b)])
      if float in types or int in types:
          try:
              a, b = float(a), float(b)
          except TypeError:
              # NaN
              return False
      return a < b and (not args or less(b, *args))
docs: Implements the '<' operator with JS-style type coertion.