anchor.diff:                      handle_recv_peek(
                         P, D, ActionsR, Packet,
                         <<ShortData/binary, FinalData/binary>>);
  -                {select, SelectInfo} ->
  +                {select, {?select_info(_) = SelectInfo, _}} ->
                       {next_state,
                        #recv{info = SelectInfo},
                        {P, D},
                        reverse(ActionsR)};
  -                {select, {SelectInfo, _}} ->
  +                {select, ?select_info(_) = SelectInfo} ->
                       {next_state,
                        #recv{info = SelectInfo},
                        {P, D},
  
positive.code:               P, D#{type => connect},
                [{{timeout, connect}, cancel},
                 {reply, From, {ok, Socket}}]);
          {select, SelectInfo} ->
              {next_state,
               #connect{info = SelectInfo, from = From, addr = Addr},
               {P, D#{type => connect}},
  
negative.code:                 {ok, <<Data/binary>>} ->
  		    %% ?DBG({'got some', byte_size(Data)}),
                      handle_recv_deliver(P, D, ActionsR, Data);
                  {select, {?select_info(_) = SelectInfo, Data}} ->
  		    %% ?DBG({'got another select with data', byte_size(Data)}),
                      case socket:cancel(Socket, SelectInfo) of
                          ok ->
  