anchor.diff:  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
  
positive.code: %%%
  %%%----------------------------------------------------------------------------
  
  http_io(Timeout, State) ->
     case
        [either ||
           Sock <- socket(State),
           send(Sock, State),
           recv(Sock, Timeout, State),
           unit(Sock, _)
        ]
     of
        {ok, Sock1, Pckt} ->
           unit(Sock1, Pckt, State);
        {error, _} ->
           Authority = uri:authority( lens:get(req_uri(), State) ),
           http_io(Timeout, maps:remove(Authority, State))
     end.
  
  %%
  
negative.code: 
  %%
  %%
  recv(Sock, Timeout, State) ->
     Http    = stream:list(knet:stream(Sock, Timeout)),
     Payload = case 
        htcodec:decode(Http) 
  