anchor.diff:      %% Get first node.
       FirstNode = {FirstName, _} = hd(Nodes),
   
  +    %%%===================================================================
  +    %%% Raft: initialize
  +    %%%===================================================================
  +
       %% Initialize a Raft cluster.
       {ok, Nodes} = rpc:call(?NAME(FirstName), zraft_client, create, [Nodes, zraft_dict_backend]),
   
  +    %%%===================================================================
  +    %%% Raft: sessionless
  +    %%%===================================================================
  +
       %% Perform a single write.
       {ok, FirstNode} = rpc:call(?NAME(FirstName), zraft_client, write, [FirstNode, {1, 1}, 1000]),
   
       %% Perform a single read.
       {{ok, 1}, FirstNode} = rpc:call(?NAME(FirstName), zraft_client, query, [FirstNode, 1, 1000]),
   
  -    node_debug("zraft_lib fully initializaed...", []),
  +    %%%===================================================================
  +    %%% Raft: light session
  +    %%%===================================================================
  +
  +    %% Create light session.
  +    ZraftSession = rpc:call(?NAME(FirstName), zraft_client, light_session, [FirstNode, 500, 500]),
  +    true = ets:insert(prop_partisan, {zraft_session, ZraftSession}),
  +
  +    %% Perform a single write using light session.
  +    {ok, ZraftSession} = rpc:call(?NAME(FirstName), zraft_client, write, [ZraftSession, {1, 1}, 1000]),
  +
  +    %% Perform a single read using light session.
  +    {{ok, 1}, ZraftSession} = rpc:call(?NAME(FirstName), zraft_client, query, [ZraftSession, 1, 1000]),
  +
  +    node_debug("zraft_lib fully initialized...", []),
   
       ok.
   
  
positive.code:     ?PROPERTY_MODULE:command_conclusion(RunnerNode, [sleep]),
  
      ok.
  
  %% @private
  write(Node, Key, Value) ->
  
negative.code:     lists:map(fun({call, _Mod, Fun, _Args}) -> Fun end, node_commands()).
  
  %% Precondition.
  node_precondition(_NodeState, {call, ?MODULE, check_delivery, []}) ->
      true;
  node_precondition(_NodeState, {call, ?MODULE, session_write, [_Node, _Key, _Value]}) ->
      true;
  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, session_read, [_Node, Key]}) ->
      % node_debug("checking precondition for session_read operation on key: ~p with values: ~p", [Key, dict:to_list(Values)]),
  
      case dict:find(Key, Values) of 
          {ok, _} ->
              true;
          Other ->
              node_debug("=> did NOT find key in values: ~p", [Other]),
              false
      end;
  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)]),
  
  