code: def compose_later(self, *things):
          
          if len(things) == 1:
              return things[0]
          module_name = things[-1]
          if module_name in sys.modules:
              raise CompositionError(
                  'compose_later call after module has been imported: '
                   + module_name
              )
          LazyComposerHook.add(module_name, things[:-1], self)
docs: register list of things for composition using compose()
  
          compose_later takes a list of fsts.
          The last element specifies the base module as string
          things are composed directly after the base module
          is imported by application code