let make ~repository ?(install_program = fun ~path -> noop) ?(init_program = fun ~path -> noop) ?(recursive = false) ~witness tool_definition = {tool_definition; repository; recursive; install_program; init_program; witness;}