anchor.diff:  
   %%
   %%
  -recv(Sock, Timeout, _State) ->
  +recv(Sock, Timeout, State) ->
      Http    = stream:list(knet:stream(Sock, Timeout)),
      Payload = case 
         htcodec:decode(Http) 
  
positive.code:       {error, _} ->
           tl(Http)
     end,
     {ok, [hd(Http) | Payload]}.   
  
  %%
  %%
  
negative.code: request(Timeout) ->
     fun(State) -> http_io(Timeout, State) end.   
  
  %%
  %%
  -spec require(lens:lens()) -> m(_).
  
  require(Lens) ->
     fun(State) ->
        case lens:get(lens:c(lens:at(ret, #{}), Lens), State) of
           {ok, Expect} ->
              [Expect | State];
           {error, Reason} ->
              throw(Reason);
           LensWithFocused ->
              [LensWithFocused | State]
        end
     end.
  
  
  %%%----------------------------------------------------------------------------   
  %%%
  %%% state lenses
  