struct   type t = {     name: string;     with_cosmic: bool;     with_dbsnp: bool;     parameters: (string * string) list;   }   let to_json {name; with_cosmic; with_dbsnp; parameters}: Yojson.Basic.json =     `Assoc [       "name"`String name;       "with-cosmic"`Bool with_cosmic;       "with-dbsnp"`Bool with_dbsnp;       "parameters",       `Assoc (List.map parameters ~f:(fun (a, b) -> a, `String b));     ]   let render {parameters; _} =     List.concat_map parameters ~f:(fun (a,b) -> [a; b])   let default =     {name = "default";      with_cosmic = true; with_dbsnp = true;      parameters = []}   let default_without_cosmic =     {name = "default_without_cosmic";      with_cosmic = false; with_dbsnp = true;      parameters = []}   let name t = t.name end