let to_json {     name;     vaccine_peptide_length;     padding_around_mutation;     max_vaccine_peptides_per_mutation;     max_mutations_in_report;     min_mapping_quality;     min_variant_sequence_coverage;     min_alt_rna_reads;     include_mismatches_after_variant;     use_duplicate_reads;     drop_secondary_alignments;     mhc_epitope_lengths;     reviewers;     final_reviewer;     xlsx_report;     pdf_report;     ascii_report;     parameters}: Yojson.Basic.json     =     `Assoc ([       "name"`String name;       "vaccine_peptide_length"`Int vaccine_peptide_length;       "padding_around_mutation"`Int padding_around_mutation;       "max_vaccine_peptides_per_mutation"`Int max_vaccine_peptides_per_mutation;       "max_mutations_in_report"`Int max_mutations_in_report;       "min_mapping_quality"`Int min_mapping_quality;       "min_variant_sequence_coverage",         `Int min_variant_sequence_coverage;       "min_alt_rna_reads"`Int min_alt_rna_reads;       "include_mismatches_after_variant"`Bool include_mismatches_after_variant;       "use_duplicate_reads"`Bool use_duplicate_reads;       "drop_secondary_alignments"`Bool drop_secondary_alignments;       "mhc_epitope_lengths",         `List (List.map mhc_epitope_lengths ~f:(fun i -> `Int i));       "ascii_report"`Bool ascii_report;       "pdf_report"`Bool pdf_report;       "xlsx_report"`Bool xlsx_report;       "parameters",         `Assoc (List.map parameters ~f:(fun (a, b) -> a, `String b));       ]       @ Option.value_map reviewers ~default:[]         ~f:(fun r -> ["reviewers"`List (List.map ~f:(fun r -> `String r) r)])       @ Option.value_map final_reviewer ~default:[]         ~f:(fun r -> ["final_reviewer"`String r]))