Current implementation will fail if a newly defined table has a dependency on a table that already exists in a schema bound to a module, but does not have a corresponding class definition in the module. This is a rather convoluted, but certainly possible situation that must be addressed.
For a concrete example, if you are defining a new table called Experiment in module mouse that refers to another existing table called microscopes in the database mouse_setups that is already bound to a module called setups, as here:
definition = """
mouse.Experiment (manual)
-> setups.Microscopes
then this will fail to create an appropriate table relation representing setups.Microscopes.