docs: def collate(binder, ruleset=None, includes=None):
      """Given a ``Binder`` as ``binder``, collate the content into a new set
      of models.
      Returns the collated binder.
  
      """
      html_formatter = SingleHTMLFormatter(binder, includes)
      raw_html = io.BytesIO(bytes(html_formatter))
      collated_html = io.BytesIO()
  
      if ruleset is None:
          # No ruleset found, so no cooking necessary.
          return binder
  
      easybake(ruleset, raw_html, collated_html)
  
      collated_html.seek(0)
      collated_binder = reconstitute(collated_html)
  
      return collated_binder