anchor.diff:  -define(SIZE_BLOCK, 4096).
   
   -record(file, {
  -    fd
  +    fd,
  +    eof = 0
   }).
   
   % public API
  
positive.code:             {ok, Fd} = file:open(Filepath, OpenOptions),
              ok = file:close(Fd_Read),
              maybe_track_open_os_files(Options),
              {ok, #file{fd=Fd}};
          Error ->
              init_status_error(ReturnPid, Ref, Error)
          end
  
negative.code:         Padding = <<0:(8*(?SIZE_BLOCK-BlockOffset))>>
      end,
      FinalBin = [Padding, <<1, BinSize:32/integer>> | make_blocks(5, [Bin])],
      case file:write(Fd, FinalBin) of
      ok ->
          {reply, ok, File#file{eof = Pos + iolist_size(FinalBin)}};
      Error ->
          {reply, Error, File}
      end;
  
  handle_call(find_header, _From, #file{fd = Fd, eof = Pos} = File) ->
      {reply, find_header(Fd, Pos div ?SIZE_BLOCK), File}.
  
  handle_cast(close, Fd) ->
  