anchor.diff:        measure(length, commands_length(Cmds),
         aggregate(TcpStates,
         aggregate(adjacent(TcpStates),
  -      aggregate(call_features(H),
  +      aggregate([ Sock#socket.tcp_state
  +                  || Hist <- H, 
  +                     Sock <- (eqc_statem:history_state(Hist))#state.sockets ],
         eqc_component:pretty_commands(?MODULE, Cmds, {H, S, Res},
           Res == ok))))))
     end))))).
  
positive.code: %% deliver_pre(S) ->
  %%   S#socket.rcvd /= S#socket.seq.
  
  deliver_pre(S) ->
    [] /= S#state.sockets.
  
  deliver_args(S) ->
    ?LET(Sock, elements(S#state.sockets),
         [Sock#socket.id]).
  
  deliver_pre(S, [Id]) ->
    Sock = get_socket(S, Id),
    is_record(Sock, socket) andalso
    Sock#socket.rcvd /= Sock#socket.seq.
  
  deliver(_) -> timer:sleep(1).
  
  deliver_callouts(S, [Id]) ->
    Sock = get_socket(S, Id),
    ?SET(Id, rcvd, Sock#socket.seq).
  
  deliver_features(S, [Id], _) ->
    [ {Id, [Sock#socket.tcp_state || Sock <- S#state.sockets ]} ].
  
  %% -- Local operations -------------------------------------------------------
  
  
negative.code: %% invariant(_S) ->
  %% true.
  
  weight(_S, _Cmd) -> 1.
  
  prop_encode_decode() ->
  