I am not sure about "Provide full resources where available". Why do we need to return everything with DELETE request? Client is supposed to know what to be deleted, so the response seems redundant.
DELETE /api/users/1234/cart/5678
I would expect this response to return the cart resource so client does not have to issue a GET /api/users/1234/cart request.