let touch ?(create=true) fln = if (test (And(Exists,Is_file)) fln) || create then close_out (open_out fln) else ()