functor (X : sig val default : int val option_name : string val descr : string val arg_name : string end) -> INT