docs: def dump_orm_tree_as_insert_sql(engine: Engine,
                                  baseobj: object,
                                  fileobj: TextIO) -> None:
      """
      Sends an object, and all its relations (discovered via "relationship"
      links) as ``INSERT`` commands in SQL, to ``fileobj``.
  
      Args:
          engine: SQLAlchemy :class:`Engine`
          baseobj: starting SQLAlchemy ORM object
          fileobj: file-like object to write to
  
      Problem: foreign key constraints.
      
      - MySQL/InnoDB doesn't wait to the end of a transaction to check FK
        integrity (which it should):
        http://stackoverflow.com/questions/5014700/in-mysql-can-i-defer-referential-integrity-checks-until-commit  # noqa
      - PostgreSQL can.
      - Anyway, slightly ugly hacks...
        https://dev.mysql.com/doc/refman/5.5/en/optimizing-innodb-bulk-data-loading.html
      - Not so obvious how we can iterate through the list of ORM objects and
        guarantee correct insertion order with respect to all FKs.
      """  # noqa
      writeline_nl(
          fileobj,
          sql_comment("Data for all objects related to the first below:"))
      bulk_insert_extras(engine.dialect.name, fileobj, start=True)
      for part in walk_orm_tree(baseobj):
          dump_orm_object_as_insert_sql(engine, part, fileobj)
      bulk_insert_extras(engine.dialect.name, fileobj, start=False)