let mkstemp ?(suffix = "") prefix =
  let prefixlen = String.length prefix in
  let suffixlen = String.length suffix in
  let len = (prefixlen + 6) + suffixlen in
  let s = String.create len
  in
    (String.blit prefix 0 s 0 prefixlen;
     String.blit "XXXXXX" 0 s prefixlen 6;
     String.blit suffix 0 s (prefixlen + 6) suffixlen;
     let fd = internal_mkstemps s suffixlen in (fd, s))