anchor.diff:      {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});
  
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: start_link(FamilyID) ->
      gen_statem:start_link(?MODULE, [FamilyID], []).
  
  -spec(init([FamilyID :: non_neg_integer()]) -> {ok, state_name(), state_data()}).
  init([FamilyID]) ->
      Pid = list_to_integer(os:getpid()),
      {ok, Fd} = procket:socket(netlink, dgram, FamilyID),
  