anchor.diff:  
   
   -spec commit(LeasePath, OldRootHash, NewRootHash, RepoTag) ->
  -                    ok | {error, merge_error | io_error | worker_timeout}
  +                    ok | {error, merge_error | io_error | worker_died | worker_timeout}
                           when LeasePath :: binary(),
                                OldRootHash :: binary(),
                                NewRootHash :: binary(),
  
positive.code:                              invalid_lease |
                               invalid_key |
                               invalid_macaroon |
                               worker_timeout |
                               path_violation |
                               other_error}.
  
negative.code:     gen_server:start_link(?MODULE, Args, []).
  
  
  -spec generate_token(KeyId, Path, MaxLeaseTime) -> {Token, Public, Secret} |
                                                     {error, worker_died}
                                                         when KeyId :: binary(),
                                                              Path :: binary(),
                                                              MaxLeaseTime :: integer(),
  