functor
  (X : sig
         val option_name : string
         val help : string
         val kind : [> `Correctness | `Irrelevant | `Tuning ]
         val default : bool
       end->
  BOOL