let bam ~sample_name ?sorting ~reference_build input =     Bam (       let open KEDSL in       let host = Machine.as_host Config.machine in       let f = get_raw_file (AF.get_file input) in       let bam =         bam_file ~host ~name:sample_name           ?sorting ~reference_build f#product#path in       workflow_node bam         ~equivalence:`None         ~name:(sprintf "Input-bam: %s" sample_name)         ~edges:[depends_on f]     )     |> AF.with_provenance "bam" ["file"AF.get_provenance input]       ~string_arguments:[         "sample-name", sample_name;         "sorting",         (match sorting with         | Some `Coordinate -> "coordinate"         | None -> "none"         | Some `Read_name -> "read-name");         "reference-build", reference_build;       ]