func (doc Document) MergeWith(other Document) {
	for k, v := range other {
		if _, ok := doc[k]; !ok {
			doc[k] = v
		}
	}
}
MergeWith merges the document with the given document. Any duplicate fields
in the given document are ignored.
package vocab
type Context string
const (
	ContextActivityStreams Context = "https://www.w3.org/ns/activitystreams"
	ContextSecurity Context = "https://w3id.org/security/v1"
	ContextCredentials Context = "https://www.w3.org/2018/credentials/v1"
	ContextActivityAnchors Context = "https://w3id.org/activityanchors/v1"
)
var (
	PublicIRI = MustParseURL("https://www.w3.org/ns/activitystreams#Public")
	AnchorWitnessTargetIRI = MustParseURL("https://w3id.org/activityanchors#AnchorWitness")
)
type Type string
const (
	TypeCollection Type = "Collection"
	TypeOrderedCollection Type = "OrderedCollection"
	TypeCollectionPage Type = "CollectionPage"
	TypeOrderedCollectionPage Type = "OrderedCollectionPage"
	TypeService Type = "Service"
	TypeCreate Type = "Create"
	TypeAnnounce Type = "Announce"
	TypeFollow Type = "Follow"
	TypeAccept Type = "Accept"
	TypeReject Type = "Reject"
	TypeLike Type = "Like"
	TypeInvite Type = "Invite"
	TypeVerifiableCredential Type = "VerifiableCredential"
	TypeContentAddressedStorage Type = "ContentAddressedStorage"
	TypeAnchorEvent Type = "AnchorEvent"
	TypeAnchorObject Type = "AnchorObject"
	TypeAnchorReceipt Type = "AnchorReceipt"
	TypeOffer Type = "Offer"
	TypeUndo Type = "Undo"
)
const (
	propertyContext      = "@context"
	propertyID           = "id"
	propertyType         = "type"
	propertyTo           = "to"
	propertyPublished    = "published"
	propertyActor        = "actor"
	propertyCurrent      = "current"
	propertyFirst        = "first"
	propertyLast         = "last"
	propertyItems        = "items"
	propertyObject       = "object"
	propertyResult       = "result"
	propertyTarget       = "target"
	propertyEndTime      = "endTime"
	propertyStartTime    = "startTime"
	propertyTotalItems   = "totalItems"
	propertyURL          = "url"
	propertyAttributedTo = "attributedTo"
	propertyInReplyTo    = "inReplyTo"
	propertyAttachment   = "attachment"
	propertyAnchors      = "anchors"
	propertyParent       = "parent"
)
func reservedProperties() []string {
	return []string{
		propertyContext,
		propertyID,
		propertyType,
		propertyTo,
		propertyPublished,
		propertyActor,
		propertyCurrent,
		propertyFirst,
		propertyLast,
		propertyItems,
		propertyObject,
		propertyResult,
		propertyTarget,
		propertyEndTime,
		propertyStartTime,
		propertyTotalItems,
		propertyURL,
		propertyAttributedTo,
		propertyInReplyTo,
		propertyAttachment,
		propertyParent,
		propertyAnchors,
	}
}
type Document map[string]interface{}