sig   module Common_config :     sig       type t = {         name : string;         gap_open_penalty : int;         gap_extension_penalty : int;         mismatch_penalty : int;       }     end   module Bwa_config :     functor       (D : sig              val default :                Biokepi_bfx_tools.Bwa.Configuration.Common_config.t            end->       sig         type t =           Common_config.t = {           name : string;           gap_open_penalty : int;           gap_extension_penalty : int;           mismatch_penalty : int;         }         val name : t -> string         val default : Biokepi_bfx_tools.Bwa.Configuration.Common_config.t         val to_json :           t ->           [> `Assoc of (string * [> `Int of int | `String of string ]) list ]       end   val bwa_mem_default : Biokepi_bfx_tools.Bwa.Configuration.Common_config.t   module Mem :     sig       type t =         Common_config.t = {         name : string;         gap_open_penalty : int;         gap_extension_penalty : int;         mismatch_penalty : int;       }       val name : t -> string       val default : Common_config.t       val to_json :         t ->         [> `Assoc of (string * [> `Int of int | `String of string ]) list ]     end   val bwa_aln_default : Biokepi_bfx_tools.Bwa.Configuration.Common_config.t   module Aln :     sig       type t =         Common_config.t = {         name : string;         gap_open_penalty : int;         gap_extension_penalty : int;         mismatch_penalty : int;       }       val name : t -> string       val default : Common_config.t       val to_json :         t ->         [> `Assoc of (string * [> `Int of int | `String of string ]) list ]     end end