anchor.diff:  %% @doc For an object GET/PUT/POST or a bucket POST, check to see
   %%      whether the write request violates the write mask of the
   %%      bucket.  For a bucket GET, check to see whether the keys of
  -%%      the bucket are listable.
  +%%      the bucket are listable.  PUT requests to bucket schemas are
  +%%      always accepted.
   forbidden(ReqData, Context=#ctx{key=schema}) ->
       %% PUTs to container are for setting schemas and therefore always
       %% allowed
  
positive.code: %%            a new, server-generated key.  Response will be empty (unless
  %%            returnbody=true is specified in the query parameters) with
  %%            the Location header set to the new object's URI.
  %%</dd></dl>
  -module(jiak_resource).
  
  
negative.code: %%          bucket component of the URI
  %%        - the "key" field of the object does not match the
  %%          key component of the URI
  %%        - when PUTing to a bucket schema, the schema is not of the
  %%          form described above. 
  malformed_request(ReqData, Context=#ctx{key=schema}) ->
      case decode_object(wrq:req_body(ReqData)) of
          {ok, _SchemaObj={struct, SchemaPL0}} ->
  