anchor.diff:  
   -spec(
       http(
  -        get | post, httpc:url(), httpc:headers(),
  -        {token, string()} | {basic, string(), string()},
  +        get | post | put | delete, httpc:url(), httpc:headers(),
  +        {token, string()} | {basic, string(), string()} | no_auth,
           map() | binary() | undefined,
           httpc:http_options(), httpc:options()
       ) ->
  
positive.code: ).
  http(Op, Url, ReqHeaders, Auth, Body, HttpOptions, Options) when is_map(Body) ->
      http(
          Op, {Url, ReqHeaders, "application/json"}, Auth,
          imem_json:encode(Body), HttpOptions, Options
      );
  http(Op, Url, ReqHeaders, Auth, Body, HttpOptions, Options) ->
  
negative.code: http(Op, {Url, ReqHeaders, ContentType}, no_auth, Body, HttpOptions, Options) ->
      http(Op, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options).
  
  http(Method, {Url, ReqHeaders, _, _}, HttpOptions, Options)
    when Method == get; Method == delete ->
      http_req(Method, {Url, ReqHeaders}, HttpOptions, Options);
  http(
    Method, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options
  ) when is_binary(Body) andalso (Method == put orelse Method == post) ->
      http_req(Method, {Url, ReqHeaders, ContentType, Body}, HttpOptions, Options).
  
  http_req(Method, Request, HttpOptions, Options) ->
      case httpc:request(
  