docs: def build_document(html_content, base_href=None):
      """Requires that the `html_content` not be None"""
      assert html_content is not None
  
      if isinstance(html_content, unicode):
          html_content = html_content.encode("utf8", "xmlcharrefreplace")
  
      try:
          document = document_fromstring(html_content, parser=UTF8_PARSER)
      except (ParserError, XMLSyntaxError):
          raise ValueError("Failed to parse document contents.")
  
      if base_href:
          document.make_links_absolute(base_href, resolve_base_href=True)
      else:
          document.resolve_base_href()
  
      return document