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