
  -spec write_file(Filename, Bytes, Modes) -> ok | {error, Reason}
                      when
                          Filename :: name_all(),
                          Bytes :: iodata(),
                          Modes :: [mode()],
                          Reason ::
                              posix() | badarg | terminated | system_limit.

  Same as write_file/2, but takes a third argument Modes, a list
  of possible modes, see open/2. The mode flags binary and 
  write are implicit, so they are not to be used.
