+ List.iter (fun arg -> check_arg_ret_name (name_of_argt arg)) args;
+ List.iter (fun arg -> check_arg_ret_name (name_of_argt arg)) optargs;
+ ) all_functions;
+
+ (* Check only certain types allowed in optargs. *)
+ List.iter (
+ fun (name, (_, _, optargs), _, _, _, _, _) ->
+ if List.length optargs > 64 then
+ failwithf "maximum of 64 optional args allowed for %s" name;
+
+ List.iter (
+ function
+ | Bool _ | Int _ | Int64 _ | String _ -> ()
+ | _ ->
+ failwithf "optional args of %s can only have type Bool|Int|Int64|String" name
+ ) optargs