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