anchor.diff:  -record(session, {
     id = undefined,
     pid = undefined,
  +  ref = undefined,
     details = undefined,
     requestId = 1,
     goodbye_sent = false,
  
positive.code: create_session(Pid,Details,#state{sess=Sessions}=State) ->
    Id = gen_id(),
    Ref = monitor(process,Pid),
    case ets:insert_new(Sessions,[#session{id=Id,pid=Pid,details=Details},
                                  #ref_session{ref=Ref,session_id=Id},
                                  #pid_session{pid=Pid,session_id=Id}]) of
      true ->
  
negative.code: 
  -spec get_session_from_pid(Pid :: pid(), State :: #state{}) -> #session{}.
  get_session_from_pid(Pid,#state{sess=Sessions}) ->
    case ets:lookup(Sessions,Pid) of
      [PidSession] ->
          case ets:lookup(Sessions,PidSession#pid_session.session_id) of
            [Session] -> Session;
            _ -> undefined
          end;
        _ -> undefined
    end.
  
  
  -spec gen_id() -> non_neg_integer().
  