let with_provenance       ?functional       ?(string_arguments = []) ?(json_arguments = [])       name arguments file =     {       file;       provenance = {         Provenance_description. name; sub_tree_arguments = arguments;         string_arguments; json_arguments};       functional;     }