code: def _flatten_nested_input(v):
      
      v = copy.deepcopy(v)
      if isinstance(v["type"], dict) and v["type"]["type"] == "array":
          v["type"] = v["type"]["items"]
      else:
          assert isinstance(v["type"], (list, tuple)), v
          new_type = None
          want_null = False
          for x in v["type"]:
              if isinstance(x, dict) and x["type"] == "array":
                  new_type = x["items"]
              elif isinstance(x, six.string_types) and x == "null":
                  want_null = True
              else:
                  new_type = x
          if want_null:
              if not isinstance(new_type, (list, tuple)):
                  new_type = [new_type] if new_type is not None else []
              for toadd in ["null", "string"]:
                  if toadd not in new_type:
                      new_type.append(toadd)
          assert new_type, v
          v["type"] = new_type
      return v
docs: Flatten a parallel scatter input -- we only get one of them to tools.