struct   type t = {     name: string;     input_type: [ `WGS | `WES ];   }   let name t = t.name   let input_type_to_string input_type =     match input_type with     | `WGS -> "WGS"     | `WES -> "WES"   let to_json {name; input_type} =     `Assoc [       "name"`String name;       "input-type"`String (input_type_to_string input_type);     ]   let default input_type =     let is = input_type_to_string input_type in     { name = "default-" ^ is; input_type}        let wgs = default `WGS   let wes = default `WES end