anchor.diff:    {call, From}, {recv, Length, Timeout}, State, {P, D}) ->
       case State of
           'connected' ->
  -            handle_recv(
  -              P, recv_start(D, From, Length),
  -              [{{timeout, recv}, Timeout, recv}]);
  +            handle_recv_start(P, D, From, Length, Timeout);
           #recv{} ->
               %% Receive in progress
               {keep_state_and_data,
  
positive.code:         #{active := _} ->
              handle_recv(P, recv_start(D), ActionsR)
      end.
  
  handle_recv(P, #{packet := Packet, recv_length := Length} = D, ActionsR) ->
      if
  
negative.code:      end}.
  
  %% Initialize packet recv state
  recv_start(D) ->
      D#{recv_length => 0}.
  
  