anchor.diff:  %%%
   %%% merge_acl_from_container
   %%% TODO: consider error cases in more detail
  --spec merge_acl_from_container(requestor_id(), binary(), object_id()) -> ok.
  +-spec merge_acl_from_container(requestor_id(), object_id(), object_id()) -> ok |
  +                                                                            {error, object_acl | container_acl}.
   merge_acl_from_container(RequestorId, ContainerId, ObjectId) ->
       case get_acl_for_resource(RequestorId, container, ContainerId) of
           {ok, CAcl} ->
               case get_acl_for_resource(RequestorId, object, ObjectId) of
                   {ok, OAcl} ->
                       NAcl = merge_acl(CAcl, OAcl),
  -                    [ok = set_ace_for_resource(RequestorId, object, ObjectId,  Method, Ace) ||
  -                        {Method, Ace} <- NAcl],
  -                    ok;
  +                    case set_acl(RequestorId, ObjectId, NAcl) of
  +                        ok ->
  +                            ok;
  +                        {error, _} ->
  +                            %% The details of the error will have already been logged
  +                            {error, object_acl}
  +                    end;
                   Error ->
                       error_logger:error_msg("Error fetching ACL on object ~p for requestor ~p: ~p~n",
                                              [ObjectId, RequestorId, Error]),
  
positive.code:                                    [ContainerId, RequestorId, Error]),
              {error, container_acl}
      end.
  %
  % Test if an actor is authorized
  % Corresponds to GET /{actors|containers|groups|objects}/:id/acl/{actors|groups}/:member_id
  %
  -spec is_authorized_on_resource(requestor_id(), resource_type(), object_id(),
                                'actor'|'group', actor_id(), access_method())
                               -> true|false|{error,server_error}.
  is_authorized_on_resource(RequestorId, ResourceType, ResourceId, ActorType, ActorId, AccessMethod)
    when is_atom(ResourceType) and is_atom(ActorType) and is_atom(AccessMethod) ->
      Url = make_url([pluralize_resource(ResourceType), ResourceId, <<"acl">>,
  
negative.code: %% with the ACL for `ContainerAId' will be merged into the ACL for the new object.
  %%
  %% TODO: consider error cases in more detail
  -spec create_object_with_container_acl(requestor_id(), object_id()) -> {ok, object_id()} |
                                                                         {error, forbidden}.
  create_object_with_container_acl(RequestorId, ContainerAId) ->
      {ok, ObjectId} = create_resource(RequestorId, object),
      case merge_acl_from_container(RequestorId, ContainerAId, ObjectId) of
  