anchor.diff:      end;
   node_postcondition(_NodeState, {call, ?MODULE, sleep, []}, _Result) ->
       true;
  +node_postcondition(_NodeState, {call, ?MODULE, session_write, [_Node, _Key, _Value]}, {ok, _}) ->
  +    true;
   node_postcondition(_NodeState, {call, ?MODULE, write, [_Node, _Key, _Value]}, {ok, _}) ->
  +    true;
  +node_postcondition(_NodeState, {call, ?MODULE, write, [_Node, _Key, _Value]}, {error, noproc}) ->
  +    node_debug("=> write failed, leader unavailable...", []),
       true;
   node_postcondition(_NodeState, Command, Response) ->
       node_debug("generic postcondition fired (this probably shouldn't be hit) for command: ~p with response: ~p", 
  
positive.code:     lists:map(fun({call, _Mod, Fun, _Args}) -> Fun end, node_commands()).
  
  %% Precondition.
  node_precondition(_NodeState, {call, ?MODULE, write, [_Node, _Key, _Value]}) ->
      true;
  node_precondition(_NodeState, {call, ?MODULE, sleep, []}) ->
      true;
  node_precondition(#node_state{values=Values}, {call, ?MODULE, read, [_Node, Key]}) ->
      % node_debug("checking precondition for read operation on key: ~p with values: ~p", [Key, dict:to_list(Values)]),
  
  
negative.code: node_commands() ->
      [
          {call, ?MODULE, read, [node_name(), key()]},
          {call, ?MODULE, write, [node_name(), key(), value()]},
  
          {call, ?MODULE, session_read, [node_name(), key()]},
          {call, ?MODULE, session_write, [node_name(), key(), value()]}
      ].
  
  %% Assertion commands.
  node_assertion_functions() ->
      [check_delivery].
  
  %% Global functions.
  node_global_functions() ->
      [check_delivery, sleep].
  
  %% What should the initial node state be.
  node_initial_state() ->
  