sig   type 'a func = {     func_call : 'a;     func_name : string;     func_arg : ODN.t option;   }   val func : 'a -> string -> 'a ODNFunc.func   val func_with_arg :     ('a -> 'b) -> string -> 'a -> ('a -> ODN.t) -> 'b ODNFunc.func   val odn_of_func : 'a ODNFunc.func -> ODN.t   val func_call : 'a ODNFunc.func -> 'a end