Support for passing a struct to a document instead of map[string]interface{}

Similar to `BulkSend`, what is the old and new behavior for this function if the document is empty? What do we think is the desirable behavior? Is there any value in indexing an empty document? Should that be an explicit error?