let remove_directory ~recursive dir =
let fail msg = failwith ("Filew.remove_directory: " ^ msg)
in
if not (is_directory dir)
then fail "not found or not a directory"
else
(if recursive then remove_directory_contents_rec dir else ();
Unix.rmdir dir)