code: def _tool_to_dict(tool, records, remapped):
      
      requirements = _requirements_to_dict(tool.requirements + tool.hints)
      inputs = []
      outputs = []
      for inp in tool.tool["inputs"]:
          ready_inp, records = _input_to_dict(inp, records, remapped)
          inputs.append(ready_inp)
      for outp in tool.tool["outputs"]:
          ready_outp, records = _output_to_dict(outp, records)
          outputs.append(ready_outp)
      out = {"name": _id_to_name(tool.tool["id"]),
             "baseCommand": " ".join(tool.tool["baseCommand"]),
             "arguments": [_arg_to_dict(a, requirements) for a in tool.tool["arguments"]],
             "inputs": inputs,
             "outputs": outputs,
             "requirements": requirements,
             "stdin": None, "stdout": None}
      return out, records
docs: Parse a tool definition into a cwl2wdl style dictionary.