anchor.diff:  
   
   %%%%%%%%%%%%%%%% access of learner entry
  --spec learner_key(entry())      -> any().
  -learner_key(Entry)              -> element(1, Entry).
  --spec learner_datatype(entry()) -> crdt:crdt_module().
  -learner_datatype(Entry)         -> element(2, Entry).
   -spec learner_learnt(entry())   -> crdt:crdt().
   learner_learnt(Entry)           -> element(3, Entry).
   
  
positive.code: new_entry(Key, DataType) ->
      {lowest_key(Key), DataType, [], passive, 0, 0, 0, DataType:new(), DataType:new(), DataType:new()}.
  
  -spec new_learner_entry(?RT:key(), crdt:crdt_module()) -> entry().
  new_learner_entry(Key, DataType) ->
      {{learner, lowest_key(Key)}, DataType, DataType:new(), #{}}.
  
  
  -spec get_entry(?RT:key(), ?PDB:tableid()) -> entry() | undefined.
  get_entry({learner, Key}, TableName) ->
      ?PDB:get({learner, lowest_key(Key)}, TableName);
  get_entry(Key, TableName) ->
  
negative.code: entry_propval(Entry)                -> element(8, Entry).
  -spec entry_bufval(entry())        -> crdt:crdt().
  entry_bufval(Entry)                -> element(9, Entry).
  
  entry_add_client(Entry, Client) ->
      Clients = element(3, Entry),
  