The document is mutable and goes through a whole sequence of states that aren't what you want?
Constructing a body object with a document argument modifies the document?