anchor.diff:     header/2,
      payload/1, 
      request/0, 
  -   request/1
  +   request/1,
  +   require/1
   ]).
   
   -type m(A)    :: fun((_) -> [A|_]).
  
positive.code: request(Timeout) ->
     fun(State) -> http_io(Timeout, State) end.   
  
  %%%----------------------------------------------------------------------------   
  %%%
  %%% state lenses
  
negative.code: 
  %%
  %%
  recv(Sock, Timeout, State) ->
     Http    = stream:list(knet:stream(Sock, Timeout)),
     Payload = case 
        htcodec:decode(Http) 
  