anchor.diff:  
   -spec set(
       Session :: any(),
  -    { Name :: binary(), Secret :: binary(), MaxAge :: non_neg_integer() },
  +    { Name :: binary(), Secret :: binary(),
  +      MaxAge :: non_neg_integer(), Path :: binary() },
       Req :: any()
     ) -> { Cookie :: binary(), Req :: any() }.
   
   set(Session, {Name, Secret, MaxAge}, Req) ->
  +  set(Session, {Name, Secret, MaxAge, <<"/">>}, Req);
  +
  +set(Session, {Name, Secret, MaxAge, Path}, Req) ->
     % serialize session
     Cookie = encode_base64(Session, Secret),
     % N.B. base64 may end with equal signs which are invalid for cookie value
     % so we always quote the value.
     Req2 = cowboy_req:set_resp_cookie(Name, << $", Cookie/binary, $" >>, [
         http_only,
  -      {max_age, MaxAge}
  +      {max_age, MaxAge},
  +      {path, Path}
       ], Req),
     {Cookie, Req2}.
   
  
positive.code: %%
  
  -spec get(
      { Name :: binary(), Secret :: binary(), MaxAge :: non_neg_integer() },
      any()
    ) -> { Session :: any(), Cookie :: binary(), Req :: any() }.
  
  get({Name, Secret, MaxAge}, Req) ->
    % get cookie
    {Cookie, Req2} = cowboy_req:cookie(Name, Req),
    % deserialize cookie into session
  
negative.code: %%
  
  -spec drop(
      { Name :: binary(), any(), any(), Path :: binary() },
      any()
    ) -> Req :: any().
  
  drop({Name, _Secret, _MaxAge}, Req) ->
    drop({Name, _Secret, _MaxAge, <<"/">>}, Req);
  
  drop({Name, _Secret, _MaxAge, Path}, Req) ->
    % write already expired session cookie
    cowboy_req:set_resp_cookie(Name, <<>>, [
        http_only,
        {max_age, 0},
        {path, Path}
      ], Req).
  
  %%
  