functor (X : sig val option_name : string val help : string val output_by_default : bool end) -> With_output