Add Document.ErrorDocument and Document.SuccessDocument
Add two new types that guarantee either success or failure for a Document
body. These types can be used in situations where you want to let the type system know a Document
will have a data or error body prior to the Document
being initialized.