anchor.diff:  fold_harness(Variables, Id, Function, AccId, BindFun, ReadFun,
                PreviousValue, _PreviousAccValue) ->
       %% Blocking threshold read on source value.
  -    {ok, Type, Value, _} = ReadFun(Id, {strict, PreviousValue}, Variables),
  +    {ok, Type, Value, _} = ReadFun(Id,
  +                                   {strict, PreviousValue},
  +                                   Variables),
   
       %% Generate operations for given data type.
       {ok, Operations} = lasp_lattice:generate_operations(Type, Value),
  
positive.code: %%      `NotifyFun' is used to notify anything in the binding list that
  %%      an update has occurred.
  %%
  -spec bind(id(), value(), store(), function(), function()) -> {ok, id()}.
  bind(Id, Value, Store, NextKeyFun, NotifyFun) ->
      [{_Key, V=#dv{next=Next,
                    type=Type}}] = ets:lookup(Store, Id),
      NextKey = NextKeyFun(Type, Next),
      case V#dv.value of
          Value ->
              {ok, NextKey};
          _ ->
              %% Merge may throw for invalid types.
              try
                  Merged = Type:merge(V#dv.value, Value),
                  case lasp_lattice:is_inflation(Type, V#dv.value, Merged) of
                      true ->
                          write(Type, Merged, NextKey, Id, Store,
                                NotifyFun),
  
negative.code:         false ->
              StillWaiting0 ++ [H]
      end,
      reply_to_all(T, SW, Result);
  reply_to_all([{threshold, wait, From, Type, Threshold}=H|T],
               StillWaiting0,
               {ok, ReadThreshold}=Result) ->
      SW = case lasp_lattice:threshold_met(Type, Threshold, ReadThreshold) of
          true ->
              case From of
                  {server, undefined, {Address, Ref}} ->
  