anchor.diff:      fd                  :: non_neg_integer(),
       pid                 :: non_neg_integer(),
       seq = 0             :: non_neg_integer(),
  -    last_rq_from        :: pid() | undefined,
  -    replies             :: list(),
  -    current_seq         :: non_neg_integer(),
  +    last_rq_from        :: undefined | gen_statem:from(),
  +    replies = []        :: list(),
  +    current_seq         :: undefined | non_neg_integer(),
       family
   }).
   
  
positive.code:     gen_statem:reply(From, {error, Error, Replies1});
  do_reply(#rtnetlink{type = done}, #state{last_rq_from = From, replies = Replies0}) ->
      Replies1 = lists:reverse(Replies0),
      gen_statem:reply(From, {ok, Replies1});
  do_reply(#rtnetlink{type = error, msg = {_Error = 0, _Payload}}, #state{last_rq_from = From, replies = Replies0}) ->
      Replies1 = lists:reverse(Replies0),
      gen_statem:reply(From, {ok, Replies1});
  do_reply(#rtnetlink{type = error, msg = {Error, _Payload}}, #state{last_rq_from = From, replies = Replies0}) ->
      Replies1 = lists:reverse(Replies0),
      gen_statem:reply(From, {error, Error, Replies1}).
  
  
  
  
negative.code:     {keep_state, State1}.
  
  
  do_reply(_, #state{last_rq_from = From}) when not is_pid(From) ->
      throw(inconsistent_state);
  do_reply(#netlink{type = done}, #state{last_rq_from = From, replies = Replies0}) ->
      Replies1 = lists:reverse(Replies0),
      gen_statem:reply(From, {ok, Replies1});
  